1. #include<iostream>
  2. #include<cmath>
  3. using namespace std;
  4. bool sort(long long n);
  5. int main()
  6. {
  7. long long n;
  8. int sum=0;
  9. cin>>n;
  10. if(n<=1) cout<<'0';
  11. if(sort(n)){//先行判断是否质数
  12. for(long long i=2;i<=sqrt(n)+1;i++){
  13. if(n%i==0){
  14. if(!sort(i)) sum++;
  15. if(!sort(n/i)&&n/i!=i) sum++;
  16. }
  17. }
  18. cout<<sum;
  19. }
  20. else cout<<'1';
  21. return 0;
  22. }
  23. bool sort(long long n)
  24. {
  25. if(n==2) return false;
  26. if(n%2==0) return true;//除去偶数的判断
  27. for(long long j=3;j<=sqrt(n)+1;j+=2){
  28. if(n%j==0) return true;
  29. }//sqrt简化复杂度
  30. return false;
  31. }
点赞(0)
 

9.1 分

3 人评分

 

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论