xtu oj 1397 Patchouli的金字塔 xtu oj 1397 Patchouli的金字塔 2023-09-18 900 Patchouli的金字塔 [ ] [ ] [ ] Acceteped : 15 Submit : 27 Time Limit : 1000 MS Memory Limit : 65536 KB Description Patchouli的金字塔 Patchouli想要绘制一个金字塔。金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下: 每个三角形由*,/,和-组成,分别代表三角形的顶点和三条边。 第一行只包含一个正三角形,其余各行的三角形按照”正三角形,倒三角形,正三角形,倒三角形,…… “的顺序紧致排列。 除最后一行外,每一行的三角形比上一行多2个。一共输出n个三角形。 例如,n=1时,图案如下: * / * - * n=2时,图案如下: * / * - * / * - * n=3时,图案如下: * / * - * / / * - * n=7时,图案如下: * / * - * / / * - * - * / / * - * - * Patchouli想知道n个三角形组成的金字塔的图案是怎样的? 输入 第一行包含一个正整数T(1≤T≤100),表示样例的个数。 接下来的T行,每行包含一个正整数n(1≤n≤100),表示金字塔中的三角形的个数。 输出 对于每个样例输出对应的图案。每行的行末不包含多余的空格。 样例输入 4 1 2 3 4 样例输出 * / * - * * / * - * / * - * * / * - * / / * - * * / * - * / / * - * - * #include<stdio.h> int main() { int s; scanf("%d",&s); while(s--) { int n,g,i,j,t,k; scanf("%d",&n); for(g=0,t=n;t>0;g++,t=t-k) { k=2*g+1;//g是层数 } for(t=0;t<2*g;t++) { printf(" "); } printf("* "); for(i=0;i<g;i++) { for(t=0;t<2*(g-i)-1;t++) { printf(" "); } printf("/ \"); for(t=n,j=i-1;j>=0;j--)//求出在该层的第几位t { k=2*j+1; t=t-k; } for(k=1;k<=t-1&&k<=2*i;k++) { if(k%2!=0) { printf(" /"); } else { printf(" \"); } }//分奇偶 printf(" "); for(j=0;j<2*(g-i)-2;j++) { printf(" "); } printf("* - *"); for(k=1;k<=t-1&&k<=2*i;k++)//与上难点相似 { if(k%2!=0) { continue; } else { printf(" - *"); } } printf(" "); } } } 本以为画图形我比较拿手,没想到还是用了接近两小时,有些细节方面的感觉不好快速考虑到,总体来说思维比较简单,适合我这种小菜鸡,不过accpted的那一刻真的非常兴奋,哈哈,自己花时间写出来的感觉就很nice~~ 免费搭建微信查券返利机器人来轻松赚佣金 文章来自:IT技术分享网 分享地址:http://www.5ityx.cn/cate118/342856.html 上一篇: 92天倒计时,蓝桥杯省赛备赛攻略来啦~ 下一篇: 【金山办公】暑期训练营 实习 笔试面试 xtu oj 1397 Patchouli的金字塔 相关内容 安利几款简单好用的工具 软考高级信息系统项目管理师经验分享 总结一下Java秋招情况 【面经】Python后端(悦动天下科技) 停止无效刷题,别让信息差毁了你 算法训练第五十九天 | LeetCode 503、42 LeetCode(String)2315. Count Asterisks Java程序员的就业方向 【从零开始】力扣刷题(1) Leetcode数组中不等三元组的数目 LeetCode(String)709. To Lower Case LeetCode——子串能表示从 1 到 N 数字的二进制串 关于软考的介绍及软考证书的用处 25岁走出外包后,感到迷茫了..... Leetcode 519.随机翻转矩阵 华为OD机试真题- 处理器问题【2023Q1】