L1-002 打印沙漏 曾经终败给现在 2023-10-02 13:57 77阅读 0赞 题目描述 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 输入格式 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。 输出格式 首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。 输入样例 19 \* 输出样例 ***** *** * *** ***** 题解思路 若总符号数量为a,沙漏总高度为n,则我们可以得到n与a的关系为:n = sqrt((a + 1) \* 2) - 1。但当n为偶数时,我们需要让n自减一。最后根据沙漏总高度打印出沙漏即可。 #include<bits/stdc++.h> using namespace std; int main(){ /* 若总符号数量为a,沙漏总高度为n,则我们可以得到n与a的关系为:n = sqrt((a + 1) * 2) - 1。 但当n为偶数时,我们需要让n自减一。最后根据沙漏总高度打印出沙漏即可。 */ int N=0; char ch; cin>>N>>ch;//19 * int n=sqrt((N+1)*2)-1;//总高度n=sqrt((19+1)*2) - 1= 6-1=5 if(n%2==0){ n--; } int from=0; int to=n-1; for(int i=0;i<n;i++){ for(int j=0;j<=to;j++){ if(j>=from){ putchar(ch); }else{ putchar(' '); } } putchar('\n'); if(i<n/2){ from++; to--; }else{ from--; to++; } } cout<<N-(int)pow(n+1,2)/2+1; return 0; }
相关 L1-002 打印沙漏 题目描述 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏 曾经终败给现在/ 2023年10月02日 13:57/ 0 赞/ 78 阅读
相关 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 Myth丶恋晨/ 2023年07月24日 05:49/ 0 赞/ 136 阅读
相关 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 我不是女神ヾ/ 2023年02月13日 03:21/ 0 赞/ 36 阅读
相关 L1-002. 打印沙漏 L1-002. 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 蔚落/ 2022年09月30日 06:51/ 0 赞/ 229 阅读
相关 L1-002. 打印沙漏—天梯赛 think: 1推理数学关系,寻找规律关系 2注意空格的输出 L1-002. 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按 落日映苍穹つ/ 2022年07月13日 15:55/ 0 赞/ 237 阅读
相关 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 末蓝、/ 2022年06月15日 08:27/ 0 赞/ 322 阅读
相关 打印沙漏 https://www.patest.cn/contests/gplt 天梯赛-练习赛 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打 素颜马尾好姑娘i/ 2022年05月31日 14:52/ 0 赞/ 295 阅读
相关 L1-002. 打印沙漏 L1-002. 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 -------------------- ----- 我会带着你远行/ 2022年05月30日 10:13/ 0 赞/ 237 阅读
相关 L1-002. 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 深碍√TFBOYSˉ_/ 2022年05月26日 12:49/ 0 赞/ 241 阅读
还没有评论,来说两句吧...