概述
1019: 求和again
题目描述:
最近谷学长遇到了麻烦的问题,你能帮帮他吗?
题目是这样的:计算SUM(n) = 1 + 2 + 3 + ... + 10^n。满足n<=100 000。
输入:
输入包含多组数据,每组数据一行,包括一个整数n(n<=100 000)。当n=-1时输入终止。
输出:
对于每个n输出相应的和。
1 2 -1
55 5050
题目描述:
最近谷学长遇到了麻烦的问题,你能帮帮他吗?
题目是这样的:计算SUM(n) = 1 + 2 + 3 + ... + 10^n。满足n<=100 000。
输入:
输入包含多组数据,每组数据一行,包括一个整数n(n<=100 000)。当n=-1时输入终止。
输出:
对于每个n输出相应的和。
#include<stdio.h>
int main()
{
int n,i;
while(n!=-1)
{
i=0;
scanf("%d",&n);
if(n==1)
printf("55n");
else if(n==-1)
break;
else if(n==0)
printf("1n");
else
{
printf("5");
for(i=0;i<n-1;i++)
printf("0");
printf("5");
for(i=0;i<n-1;i++)
printf("0");
printf("n");
}
}
return 0;
}
题目解析:最一开始被题目所误解,以为是一个求和题(果然还是小白),因为数据范围很大,到10^100 000,我想到了用求和公式,但是这个方法行不通,在n=5时结果已经不正确,当n为6时已经出现负数。参考了https://blog.csdn.net/Crystal_bing/article/details/54671115 才恍然大悟,这并不是一个求和题,这是个打表题,它是有一定规律的,但需要万分注意的是当n为1或者0或者-1时都到单独列出来讨论。最一开始我就因为忘记考虑n==0的情况,通过率为50%。代码是自己最后修改后提交通过的。希望通过这次写博客,提醒自己的注意。
最后
以上就是忧郁机器猫为你收集整理的NEUQ1019 求和again的全部内容,希望文章能够帮你解决NEUQ1019 求和again所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复