(1) 阶乘的最高位
题目描述
输入一个正整数n。输出n!的最高位上的数字。
输入
输入一个正整数n(n不超过1000)。
输出
输出n!的最高位上的数字。
样例输入
1000
样例输出
4
#include<stdio.h>
int main()
{
int i,n;
double s;
s = 1.0;
scanf("%d",&n);
for(i = 1; i <= n; i ++)
{
s *= 1.0*i;
while(s >= 10)
{
s /= 10;
}
}
printf("%.0f\n",s);
return 0;
}
(2) 整数幂(多实例测试)
题目描述
求A^B的最后三位数表示的整数(1<=A,B<=1000)
输入
n个测试实例,每个实例给出两个正整数A,B
输出
输出A^B的最后三位(没有前导0)
样例输入
2
2 3
12 6
样例输出
8
984
#include<stdio.h>
int main()
{
int i,n,m,s,t;
scanf("%d",&t);
while(t --)
{
s = 1;
scanf("%d%d",&n,&m);
for(i = 1; i <= m; i ++)
{
s *= n;
while(s >= 1000)
s %= 1000;
}
printf("%d\n",s);
}
return 0;
}