码迷,mamicode.com
首页 > 其他好文 > 详细

习题1

时间:2017-09-11 00:44:39      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:之间   ima   png   技术分享   代码   习题   nbsp   code   amp   

题目如下

编程实现:设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[]){
        int i=0;
        for(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 i=0;
        int num=0;
        for(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 i=0;
        int num=0;
        for(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 i=0;
        int num=0;
        for(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 i=0;
        int num=0;
        int sum=0;
        for(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 i=0;
        int num=0;
        long sum=1;
        for(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);
    }

结果

技术分享

 

习题1

标签:之间   ima   png   技术分享   代码   习题   nbsp   code   amp   

原文地址:http://www.cnblogs.com/FrankLiner/p/7502819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!