您的位置:首页 > 其它

UVA 568 - Just the Facts

2016-08-09 00:12 387 查看
题目大意:求小于10000的非负数的阶乘倒数第一位非0 的数。

解题思路:一个一个乘,但是只保存题目要求的位数。全乘完后输出倒数第一个非 0 的数。

注意点:一定题目要求几位就保存几位,不然WA。

#include<cstdio>
int main() {
int num , tem , sav;
while( scanf("%d",&num) != EOF ) {
for( sav = 1 ,tem = 1; tem <=num ; tem++ ) {
sav *= tem;
while( !(sav %10))
sav /= 10;
sav = sav%100000;
}
while( !(sav%10) )
sav /=10;
sav = sav%10;
printf("%5d -> %d\n",num,sav);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uva