您的位置:首页 > 其它

UVA 568 - Just the Facts

2017-09-06 09:21 357 查看
题目大意:输入n,求n的阶乘的结果从后往前第一个非0数的值。

解题思路:dfs中计算n的阶乘,每次往上传时,将后面的0去掉后,只保留五位数传上去。

ac代码:
#include <iostream>
using namespace std;
int n, temp;
int prime(int n)
{
int sum;
if (n == 0)
return 1;
else{
temp = n*prime(n-1);
while (!(temp % 10))
temp /= 10;
return temp%100000;
}
}
int main()
{
while (scanf("%d", &n)!=EOF){
temp = prime(n);
while (!(temp % 10))
temp /= 10;
printf("%5d -> %d\n", n, temp%10);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: