1. 程式人生 > >習題1

習題1

由於 整除 循環 之間 累乘 src color 技術分享 break

題目如下

編程實現:設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