1089: 阶乘的最高位
时间限制: 1 Sec 内存限制: 128 MB
提交: 860 解决: 1067
[提交] [状态] [讨论版] [命题人:eilene]
题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入 Copy
1000
样例输出 Copy
4
代码
#include <stdio.h>
#include <math.h>
int main()
{
int i,n;
double x=1.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
x=x*i;
while(x>10)
{
x=x/10;
}
}printf("%.0f\n",x);
return 0;}
不要想的太复杂 取最高位即不断除10 注意while应放在for的循环里面 否则x的值int容纳不下。