• L1-002. 打印沙漏


    本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

    *****
     ***
      *
     ***
    *****
    

    所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等

    给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号

    输入格式:

    输入在一行给出1个正整数N(<=1000)和一个符号,中间以空格分隔。

    输出格式:

    首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

    输入样例:

    19 *
    

    输出样例:

    *****
     ***
      *
     ***
    *****
    2

    分析:给一个数N和一个符号C,用掉尽可能多的符号,打印沙漏和剩符号余数量

      -》求几行

      1+2*(3+5+7+9+……) 暴力

    #include "iostream"
    #include "cstdio"
    #include "cstdlib"
    using namespace std;
    
    int main()
    {
        int num;
        char c;
        while(~scanf("%d %c",&num,&c))//注意中间空格
        {
            //cout<<num<<c<<endl;
           // system("pause");
            int sum=0,n=num-1,mod=0,i=0,x,k,con=0;
            for(i=3;i<1000;i+=2){
                sum+=i;
                con++;
                if(n/2==sum)
                {
                   x=1;
                   break;
                }
                else if(n/2<sum)
                {
                    x=-1;
                    break;
                }
            }
            if(x==-1)
            {
                mod=n-(sum-i)*2;
                con--;
            }
    
            for(int i=con;i>=1;i--){
                for(int j=1;j<=con-i;j++)
                    printf(" ");
                for(int k=2*i+1;k>=1;k--)
                    printf("%c",c);
                printf("
    ");
            }
            for(int i=1;i<=con+1;i++){
                for(int j=1;j<=con+1-i;j++)
                    printf(" ");
                for(int k=2*i-1;k>=1;k--)
                    printf("%c",c);
                printf("
    ");
            }
            cout<<mod<<endl;
            getchar();
        }
        return 0;
    }
  • 相关阅读:
    VS调试Libevent流程
    Lua require搜索路径指定方法
    关于“无法定位程序输入点gzdirect于动态链接库zlib1.dll”的问题
    poj 1737 Connected Graph
    迭代器挺好用的
    The Balance of the World Aizu
    Country Road Aizu
    牛客小白月赛4 C 病菌感染
    牛客小白月赛4 A 三角形
    老子的全排列呢
  • 原文地址:https://www.cnblogs.com/kimsimple/p/6447143.html
Copyright © 2020-2023  润新知