题目如下
编程实现:设n为1~1500间的所有整数,按照如下要求计算和输出。
1、判断并输出n中能被3和5和7同时整除的数的个数;
2、判断并输出n中能被3或5或7整除的数的个数;
3、判断并输出n中能被3或5或7整除的所有数的累加和;
4、判断并输出n中能被3或5或7整除的前20个数的累加和;
5、判断并输出n中能被3或5或7整除的前10个数的累乘积。
1.判断并输出n中能被3和5和7同时整除的数的个数
首先定义变量i,范围在1-1500之间,应用for循环,运用“与”符号&&
public static void main(String args[]){for(int i=1;i<1501;i++){ if(i%3==0 && i%5==0 && i%7==0){ System.out.println(i); } } }
输出结果
题目要求求得能被整除数的个数,定义变量num,再进行输出
public static void main(String args[]){int num=0; for(int i=1;i<1501;i++){ if(i%3==0 && i%5==0 && i%7==0){ num++; } } System.out.println(num); }
结果
2.判断并输出n中能被3或5或7整除的数的个数
将以上代码中“与”符号&修改为“或”符号|
public static void main(String args[]){int num=0; for(int i=1;i<1501;i++){ if(i%3==0 || i%5==0 || i%7==0){ num++; } } System.out.println(num); }
结果
3.判断并输出n中能被3或5或7整除的所有数的累加和
在第二题的基础上,修改num=0为num=num+i
public static void main(String args[]){int num=0; for(int i=1;i<1501;i++){ if(i%3==0 || i%5==0 || i%7==0){ num=num+i; } } System.out.println(num); }
结果
4.判断并输出n中能被3或5或7整除的前20个数的累加和
定义num计数,sum求和,运用break当num=20时跳出循环
public static void main(String args[]){int num=0; int sum=0; for(int i=1;i<1501;i++){ if(i%3==0 || i%5==0 || i%7==0){ num++; sum=sum+i; if(num==20)break; } } System.out.println(sum); }
结果
5.判断并输出n中能被3或5或7整除的前10个数的累乘积
由于此时求和为乘积,所以将int sum应=1;求和sum=sum*i;跳出循环条件更改为num==10
且此时sum应使用long型,否则数据溢出
public static void main(String args[]){int num=0; long sum=1; for(int i=1;i<1501;i++){ if(i%3==0 || i%5==0 || i%7==0){ num++; sum=sum*i; if(num==10)break; } } System.out.println(sum); }
结果