要注意是所有的非0元素相乘 注意进行讨论 排除0元素

  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<math.h>
  4. long long int weishu (long long int n)
  5. {
  6. long long int ans=0,i,j,k;
  7. while(n>0)
  8. {
  9. n/=10;
  10. ans++;
  11. }
  12. return ans;
  13. }
  14. long long int fun (long long int n)
  15. {
  16. long long int i,j;
  17. long long int ans=1;
  18. for(i=0;i<weishu(n);i++)
  19. {
  20. if(n/(int )pow(10,i)%10==0) continue;
  21. ans*=n/(int )pow(10,i)%10;
  22. }
  23. return ans;
  24. }
  25. int main()
  26. {
  27. char x[200];
  28. scanf("%s",x);
  29. long long int i,j,k,initial=1,ans;
  30. for(i=0;i<strlen(x);i++)
  31. {
  32. if(x[i]=='0') continue;
  33. initial*=x[i]-'0';
  34. }
  35. ans=initial;
  36. // printf("%lld\n",ans);
  37. while(ans>=10)
  38. {
  39. ans=fun(ans);
  40. }
  41. printf("%lld",ans);
  42. return 0;
  43. }
点赞(0)
 

9.9 分

1 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论