浙大Java語言程序設計編程答案6_第1頁
浙大Java語言程序設計編程答案6_第2頁
浙大Java語言程序設計編程答案6_第3頁
浙大Java語言程序設計編程答案6_第4頁
浙大Java語言程序設計編程答案6_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文檔供參考,可復制、編制,期待您的好評與關注! 實驗7 循環結構程序的設計(二)程序填空,不要改變與輸入輸出有關的語句。1. 求11/21/31/4 輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:讀入1 個正整數 n(n<=100),計算并輸出11/21/31/4的前n項和(四舍五入保留小數4位)。例:括號內是說明輸入2 (repeat=2)103輸出0.64560.8333import java.util.Scanner;public class Test40004 public static void main(String args)

2、 int ri, repeat;int i, n, flag;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri+) n=in.nextInt(); /*-*/sum=0;flag=1;for(i=1;i<=n;i+) sum+=flag*1.0f/i;flag=-flag; System.out.println(long)(sum*10000+0.5)/10000.); 2. 求11/31/51/7 輸入一個正整數repeat (0<repeat&l

3、t;10),做repeat次下列運算:讀入1 個正實數eps,計算并輸出11/31/51/7,直到最后一項的絕對值小于eps為止(要求每一項的絕對值均大于等于eps,并以float類型輸出數據)。例:括號內是說明輸入2 (repeat=2)1E-40.1輸出0.78530.8349import java.util.Scanner;public class Test40006 public static void main(String args) int ri, repeat; int temp, flag; double eps, item, sum; Scanner in=new Scan

4、ner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) eps=in.nextDouble(); /*-*/ item=1; sum=0; temp=flag=1; while(Math.abs(item)>=eps) sum+=item; flag=-flag; temp+=2; item=flag*1.0/temp; System.out.println(int)(sum*10000+0.5)/10000.); 3. 求2/13/25/38/5. 輸入一個正整數repeat (0<repeat<

5、10),做repeat次下列運算:輸入一個正整數n,輸出 2/1+3/2+5/3+8/5 +.的前n項之和,保留4位小數(不足4位時,不必用0填滿4位)。(該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子)例:括號內是說明輸入3 (repeat=3) 1 5 20輸出2.0 (第1項是2.0)8.3917 (前5項的和是8.3917)32.6603 (前20項的和是32.6603)import java.util.Scanner;public class Test40011 public static void main(String args) int ri, rep

6、eat; int i,n; float a,b,s,t; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) n=in.nextInt(); /*-*/a=1; /分母b=2; /分子s=0;for(i=1;i<=n;i+) s+=b/a;t=a;a=b; /分母是前一項的分子b=t+b; /分子是前一項分子與分母的和 System.out.println(int)(s*10000+.5)/10000.); 4. 求aaaaaaaaa 輸入一個正整數repeat (0&

7、lt;repeat<10),做repeat次下列運算:輸入2個正整數a和n, 求a+aa+aaa+aaa(n個a)之和。例:括號內是說明輸入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=5)輸出246 (2+22+222)98760 (8+88+888+8888+88888) import java.util.Scanner;public class Test40012 public static void main(String args) int ri, repeat; int i, n, a, sn, tn; Scanner in=new Scanne

8、r(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) a=in.nextInt(); n=in.nextInt(); /*-*/tn=a;sn=0;for(i=1;i<=n;i+)sn+=tn;tn=tn*10+a; /迭代公式 System.out.println(sn); 5. 判斷素數輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:輸入一個正整數m,如果它是素數,輸出"YES",否則,輸出"NO"(素數就是只能被1和自身整

9、除的正整數,1不是素數,2是素數)。例:括號內是說明輸入4 (repeat=4) 1 2 9 17輸出NO (1不是素數)YES (2是素數) NO (9不是素數) YES (17是素數)import java.util.Scanner;public class Test40013 public static void main(String args) int ri, repeat; int i, m, n; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repea

10、t; ri+) m=in.nextInt(); /*-*/ flag=true; if(m=1)flag=false; for(i=2;i<=m-1;i+) if(m%i=0) flag=false; break; if(flag) System.out.println("YES"); else System.out.println("NO"); 說明:變量n未用到6. 求最小公倍數和最大公約數輸入一個正整數 repeat (0<repeat<10),做 repeat 次下列運算:輸入兩個正整數m和n,輸出它們的最小公倍數和最大公約數。

11、輸入輸出示例:括號內為說明輸入:3 (repeat=3)3 7 (m=3,n=7)24 4 (m=24,n=4)24 18 (m=24,n=18)輸出:the least common multiple:21, the greatest common divisor:1the least common multiple:24, the greatest common divisor:4the least common multiple:72, the greatest common divisor:6import java.util.*;public class Test40014 publi

12、c static void main(String args) Scanner in=new Scanner(System.in); int gcd, lcm, m, n,r; int repeat, ri; repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) m=in.nextInt(); n=in.nextInt(); if(m<= 0|n<= 0) System.out.println("m <= 0 or n <= 0"); else /*-*/ lcm=m*n; if(m<n)r=m;

13、m=n;n=r; r=m%n; while(r!=0) m=n; n=r; r=m%n; gcd=n; lcm=lcm/gcd; System.out.println("the least common multiple:"+lcm +", the greatest common divisor:"+gcd); 7. 求1 + 1/2! +.+ 1/n! 輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:輸入1 個正整數n,計算 s 的前n項的和。 s = 1 + 1/2! +.+ 1/n! 例:括號內是說明輸

14、入:2 (repeat=2)2 (n=2)10 (n=10)輸出:1.51.7183import java.util.Scanner;public class Test40021 public static void main(String args) int ri, repeat; int i,n; float s,t; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) n=in.nextInt(); /*-*/s=0;t=1;for(i=1;i<=n;i+)t*=

15、i;s+=1/t; /如果這兩條語句交換位置,則i=1要改成i=2 System.out.println(int)(s*10000+0.5)/10000.); 8. 求各位數字的立方和等于它本身的數。輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:輸入2 個正整數m和n(1<=m,n<=1000),輸出m 和n之間所有滿足各位數字的立方和等于它本身的數。輸出語句:System.out.println(i);例:括號內是說明輸入:2 (repeat=2)100 400 (m=100, n=400)1 100 (m=1, n=100)輸出:

16、153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3+7*7*7=370)371 (3*3*3+7*7*7+1*1*1=371)1import java.util.Scanner;public class Test40022 public static void main(String args) int ri, repeat; int i, digit, m, n, number, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) m=in

17、.nextInt(); n=in.nextInt(); /*-*/ for(i=m;i<=n;i+) number=i; sum=0; while(number>0) digit=number%10; sum+=digit*digit*digit; number=number/10; if(i=sum) System.out.println(i); 9. 統計素數并求和。 40023輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:輸入2 個正整數m和n(1<=m,n<=500),統計并輸出m 和n之間的素數的個數以及這些素數

18、的和。例:括號內是說明輸入:3 (repeat=2)1 10 (m=1, n=10)20 35 (m=20, n=35)14 16 (m=14, n=16)輸出:count=4, sum=17 (1到10之間有4個素數:2,3,5,7)count=3, sum=83 (20到35之間有3個素數:23, 29, 31)count=0, sum=0 (14到16之間沒有素數)import java.util.Scanner;public class Test40023 public static void main(String args) int ri, repeat; int count, i, j, k, m, n, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) m=in.nextInt(); n=in.nextInt(); /*-*/ count=sum=0; for(k=m;k<=n;k+) for(i=2;i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論