69,716
社区成员
发帖
与我相关
我的任务
分享
你用整数思维去理解浮点数了,9.8也是大于9的,但除以10以后整数部分就没了。
计算保留高6位就足够了。
#include <stdio.h>
int main()
{
int f = 1;
for (int n, i = (scanf("%d", &n), 2); i <= n; i++)
if ((f *= i) > 1000000) while (f > 1000000) f /= 10;
while (f >= 10) f /= 10;
printf("%d\n", f);
return 0;
}