1609: 求和
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 209 Solved: 67Description
若S=15+195+1995+19995+···+199···95(n-1个9),则和数S的
末四位数字的和是多少(如果不够四位求各个位上的和)?
Input
多实例测试,每组输入一个正整数n,n不大于1000000.
Output
输出S的末四位数字之和
Sample Input
45
Sample Output
24
HINT
Source
n=1,2,3,的时候算是特殊情况,3之后只需要前三个的和2205和9995相加,但是每一步相加都应该控制在10000以内
#include#include int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==1) printf("6\n"); else if(n==2) printf("3\n"); else if(n==3) printf("9\n"); else { n-=3; int sum=2205; while(n) { sum+=9995; while(sum>10000) sum-=10000; n--; } while(sum>10000) sum-=10000; int s=0; while(sum) { s+=sum%10; sum/=10; } printf("%d\n",s); } } return 0; }