习题1

题目如下

编程实现:设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);
    }

结果

 

posted on 2017-09-10 23:07  FrankLiner  阅读(165)  评论(0编辑  收藏  举报

导航