统计1到N的整数中,除了1和自身之外,至少还能被两个数整除的数的个数。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30package test; import java.util.Scanner; public class test{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(),tmp,ans=0; int ary[]=new int[n+1]; //枚举法记录第n个数是不是能被2个数整除 for(int i=2;i<=n;i++){ //逆向思维,两数相乘的结果是能被2个数整除的 for(int j=2;j<=n;j++){ if(i==j) continue; //不包含两数相等情况 tmp=i*j; if(tmp>n) break; if(ary[tmp]!=1){ ary[tmp]=1; //tmp可以被2个数整除 } } } for(int i:ary){ if(i==1){ ans++; //遍历数组 } } System.out.print(ans); } }
最后
以上就是俊秀烤鸡最近收集整理的关于2020国赛能力挑战赛java试题1-2的全部内容,更多相关2020国赛能力挑战赛java试题1-2内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复