题目说是数字的因子相加,可以想到,素数的因子是1和自己本身,1+自己本身肯定不等于自己,然后,素数都是奇数(除了2),所以可以把所有奇数给剪掉,直接计算偶数。

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner sc=new Scanner(System.in);
  5. int num=sc.nextInt(),sum=0;
  6. for (int i = 1; i <=num/2 ; i++)
  7. if (num%i==0){sum+=i;}
  8. System.out.println(sum==num?"yes":"no");
  9. }
  10. }
点赞(0)
 

9.9 分

1 人评分

 

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论