解题思路:先求出阶乘,然后去掉后面的0,再把数字转换为字符串,然后再取后面的子串即可。
注意事项:转换字符串时使用了sprintf函数,把数字转换为字符串,该函数有3个参数:第1个参数是要保存转换结果字符串的字符数组,第2个参数是输出格式,第3个参数是要转换的整数。
参考代码:
#include <stdio.h> #include <string.h> #define LL long long int main() { LL p=1; int n,k,i,len; char s[20]; scanf("%d%d",&n,&k); for(i=1;i<=n;i++) p=p*i; while(p%10==0) p=p/10; sprintf(s,"%lld",p); //使用sprintf函数把数字转换为字符串 len=strlen(s); if(k>len) printf("%s\n",s); else printf("%s\n",s+(len-k)); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:756 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:671 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:574 |
WU-图形输出 (C++代码)浏览:802 |
WU-整数平均值 (C++代码)浏览:1244 |
【金明的预算方案】 (C++代码)浏览:940 |
回文数字 (C语言代码)浏览:2510 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:674 |
星期判断机 (C语言代码)浏览:859 |
用筛法求之N内的素数。 (C语言代码)浏览:529 |