P572【深基4.例6】数字直角三角形(数学解法)
查看原帖
P572【深基4.例6】数字直角三角形(数学解法)
516239
⊰❦过客❦⊱楼主2021/6/6 15:10

通过题目给的数据以及自己的思维可以发现:

当n=5时,

第一层的最后一个数字为5

第二层的最后一个数字为9

第三层的最后一个数字为12

第四层的最后一个数字为14

第五层的最后一个数字为15

所以每层输出的最后一个数为

n

n+n-1

n+n-1+n-2

......
所以我们可以利用这一点来写程序
(仅仅为个人观点,不喜勿喷)

废话不多说,亮代码!

#include<bits/stdc++.h>//万能头文件
using namespace std;
int n,i,j,sum=0,a=0;
int main()
{
	cin>>n;
	for(i=n;i>=1;--i)
	{
		sum+=i;//记录每次要输入到哪
		for(j=a+1;j<=sum;++j)
		{
			if(j<10)cout<<0<<j;
			else cout<<j;
		}
		a=sum;//因为如果不记录每次都会从1输入,又因为第一次a≠0,所以a要加1
		cout<<endl;//换行
	}
    return 0;//完美收官
}

最后,点个赞再走吧

2021/6/6 15:10
加载中...