• 习题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);
        }

    结果

  • 相关阅读:
    错误处理和调试 C++快速入门30
    错误处理和调试 C++快速入门30
    虚继承 C++快速入门29
    多继承 C++快速入门28
    界面设计01 零基础入门学习Delphi42
    鱼C记事本 Delphi经典案例讲解
    界面设计01 零基础入门学习Delphi42
    虚继承 C++快速入门29
    linux系统中iptables防火墙管理工具
    linux系统中逻辑卷快照
  • 原文地址:https://www.cnblogs.com/FrankLiner/p/7502819.html
Copyright © 2020-2023  润新知