習題1
阿新 • • 發佈:2017-09-11
由於 整除 循環 之間 累乘 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