1043: 数学王子

题目描述
数学王子高斯小时候就能利用规律很快的将1+2+……+100算出来。 
PIPI现在想知道1+2+……+10^n,你能像高斯一样快速求出结果吗? 

输入
第一行有一个整数t,表示有t组数据。以下一共t行,每行一个整数n (0<=n && n<=1000) 

输出
对于每个输入的n,输出对应的结果。 

样例输入
2
1
2

样例输出
55
5050

【思路】取比较小的n发现规律如下,直接按照规律得出结果,而非计算。

10
0
1
1
55
2
5050
3
500500
4
50005000
5
5000050000
6
500000500000
7
50000005000000
8
5000000050000000
9
500000000500000000

......

#include<stdio.h>
#include<math.h>
int main(void)
{
	int n,m;
	long long sum;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&m);
		if(m==0){
			printf("%d\n",1);
			continue;
		}
		if(m==1){
			printf("%d\n",55);
			continue;
		}
		printf("%d",5);
		for(int j=1;j<m;j++){
			printf("%d",0);
		}
		printf("%d",5);
		for(int j=1;j<m-1;j++){
			printf("%d",0);
		}
		printf("%d\n",0);
	}
	return 0;
}
发布了44 篇原创文章 · 获赞 1 · 访问量 2297

猜你喜欢

转载自blog.csdn.net/Do_________/article/details/103840085