1609: 求和
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 209 Solved: 67
SubmitStatusWeb Board
Description
若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<stdio.h> #include<string.h> int main() { int n; while(scanf("%d",&n)!=EOF) { if(n==1) printf("6 "); else if(n==2) printf("3 "); else if(n==3) printf("9 "); 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 ",s); } } return 0; }