最新浙大JAVA-試驗題答案08answer_第1頁
最新浙大JAVA-試驗題答案08answer_第2頁
最新浙大JAVA-試驗題答案08answer_第3頁
最新浙大JAVA-試驗題答案08answer_第4頁
最新浙大JAVA-試驗題答案08answer_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗8Method的使用精品文檔1.程序填空題,不要改變與輸入輸出有關(guān)的語句。50001 求 1 + 1/2! + 1/n!輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算: 輸入1個正整數(shù)n,計算s的前n項的和(保留4位小數(shù))。s = 1 + 1/2! +.+ 1/n!要求定義并調(diào)用函數(shù)fact (n)計算n的階乘。例:括號內(nèi)是說明輸入:2(repeat=2)2(n=2)10(n=10)輸出:1.51.7183import java. util. Scanner;public class Test50001 public static void m

2、ain(String args) int ri,repeat;int i,n;double s;Scanner in=new Scanner(System, in); repeat二in. nextlnt ();for(ri=l;ri<=repeat:ri+) n=in. next Int ();/*/s=0;for(i=l;i<=n;i+)s+=l 0/fact: (i);System, out. println(long) (s*10000+0. 5)/10000.); static double facn) int i;double f=l;for(i=l;i<=n;i

3、+) f*=i;return f;50002 求 a+aa+aaa+aa<eea輸入一個正整數(shù)repeat (0<repeat<10)»做repeat次下列運算:輸入2個正整數(shù)a和n,求a+aa+aaa+aa-*-a(n個a)之和。要求定義并調(diào)用函數(shù)fn(a, n),它的功能是返回aa-a(n個a)。例如,fn(3, 2)的返回值是33。 例:括號內(nèi)是說明輸入2 (repeat=2)2 3 (a=2, n3)8 5 (a=8, n=5)輸出246(2+22+222)98760 (8+88+888+8888+88888)import java uti1 Scanner

4、;public class Test50002public static void main(String args) int ri, repeat;int i, n, a;long sn;Scanner in=new Scanner(System in);repeat=in. nextlnt();for (ri=l; ri<=repeat; ri+)a二in. nextlnt ();n二in. nextlnt ();/*/sn=0;for(i=l;i<=n;i+)sn+=fh(az i);System out printin (sn);/ */static int fn(int

5、arint n)int s=0;for(int;i<=n;i+)s=s*10+a;return s;柿品文檔50003統(tǒng)計一個整數(shù)中數(shù)字的個數(shù)輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算: 讀入1個整數(shù),統(tǒng)計并輸出該數(shù)中2的個數(shù)。要求定義并調(diào)用函數(shù)countdigit (number, digit),它的功能是統(tǒng)計整數(shù)number中數(shù)字digit的個 數(shù)。例如,countdigit (10090, 0)的返回值是3。例:括號內(nèi)是說明輸入:3(repeat=3)-219022345543輸出:count=2(-21902 中有 2 個 2)c

6、ount=l(有 1 個 2)count二0(345543 中沒有 2)import java. util. Scanner;public class Test50003public static void main(String args) int ri, repeat:int count;long n;Scanner in=new Scanner(System, in): repeat=in. nextlnt ();for (ri=l; ri<=repeat: ri+)n=in. nextlnt ();/*/n=Math abs (n);count=countdigit(n,2);S

7、ystem, out. printin (,count=,+count);/*/static int countdigit(long number,int digit)/統(tǒng)計整數(shù)number中數(shù)字digit的個數(shù)int a z c=0;荊品文檔while(number>0)a=(int)(number%10); if(a=digit)C+; ntunber=number /10 ; return c;50004判斷素數(shù)輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算:輸入一個正整數(shù)n,如果它是素數(shù),輸出"YES",否則,輸出

8、"N0"(素數(shù)就是只能被1和口身整除的 正整數(shù),1不是素數(shù),2是素數(shù))。要求定義并調(diào)用函數(shù)prime (m)判斷m是否為素數(shù)。例:插號內(nèi)是說明 輸入4 (repeat=4)1 29 17輸出NO(1不是素數(shù))YES(2是素數(shù))NO(9不是素數(shù))YES(17是素數(shù))import java uti1 Scanner;public class Test50004public static void main(String args) int ri, repeat, n;boolean flag;Scanner in二new Scanner(System in); repeat=i

9、n. nextInt ();for (ri=l; ri<=repeat; ri+) n=in nextInt ();/*/flag=pri/ne (n);if (flag) System out println("YES"); else System out printIn("NO");/*/static boolean prime(int m) boolean flag=true; if (m=l)flag=false; for(int i=2;i<=m-l;i+) if(m%i=0)flag=false; break; return fl

10、ag;50005統(tǒng)計素數(shù)并求和輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算:輸入2個正整數(shù)m和n(l<=m, n<=500),統(tǒng)計并輸出m和n之間的素數(shù)的個數(shù)以及這些素數(shù)的和(素 數(shù)就是只能被1和自身整除的正整數(shù),1不是素數(shù),2是素數(shù))。耍求定義并調(diào)用函數(shù)prime (m)判斷m是否為素數(shù)。例:括號內(nèi)是說明輸入:3(repeat=3)1 10(m=l, n=10) 20 35 (m二20, n=35)14 16(m=14, n=16)輸出:count=4, sum=17count二3, sum二83count二0, sum=0(1到1

11、0之間有4個素數(shù):2, 3, 5, 7)(20到35之間有3個素數(shù):23, 29, 31)(14到16之間沒有素數(shù)) import javautil. Scanner;public class Test50005public static void main(String args) int ri, repeat;int count, i, m, n, sum;Scanner in=new Scanner(System in); repeat=in. nextlnt();for (ri=l; ri<=repeat; ri+) m二in. nextlnt ();n二in. nextlnt

12、();/*/count=0;sum=0;for(i=m;i<=n;i+)様品文檔if(prime(i)count+; sum+=i;System. out println ("count二"+count+", sum二"+sum); /*/static boolean prime(int m) boolean flag=true; if(m=l)flag=false; for(int i=2;i<=m-l;i+) if(m%i=O) flag=false; break; return flag;50006輸出F讓onacci序列輸入一個正整數(shù)

13、repeat (0<repeat<10),做repeat次下列運算:輸入2個正整數(shù)m和n(l<=m, n<=10000),輸出m和n之間所有的Fibonacci數(shù)。Fibonacci 序列(第 1 項起):11 2 3 5 813 21 要求定義并調(diào)用函數(shù)fib(n),它的功能是返回第n項Fibonacci數(shù)。例如,fib (7)的返回值是13。 輸出語句:System, out. print (f+" ”);例:括號內(nèi)是說明 輸入:3 (repeat=3)1 10(m二 1, n=10)20 100(m=20, n=100)1000 6000(m=1000,

14、 n=6000)輸出:1 1 2 3 5 821 34 55 891597 2584 4181(1 到 10 Z間的 Fibonacci 數(shù))(20 到 100 之間的 Fibonacci 數(shù))(1000 到 6000 之間的 Fibonacci 數(shù))import java uti1 Scanner;public class Test50006public static void main(String args) int ri,repeat:int i, m, n;long f:Scanner in=new Scanner(System. in); repeat=in nextlnt();柿

15、品文檔for (ri=l; ri<=repeat; ri+)nFin. nextlnt ();n二in. nextlnt ();/*/i=l;f=l;while(f<=n)if(f>=m) Systemout.print(£+" n); i+;f=fib(i);System. out printin ();/*/static long fib (int n) /返回第n項Fibonacci數(shù)int i;long a=lzb=l9f=l;for (i=3;i<=n;i+) /從第3項開始計算f=a+b;a=b;b=f; return f;50007求完

16、數(shù)輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算:輸入2個正整數(shù)m和n(l<=m, n<=10000),輸出m到n之間的所有完數(shù)(完數(shù)就是因子和與它本身 相等的數(shù))。要求定義并調(diào)用函數(shù)fact or sum (number)»它的功能是返回number的因子和。例如,factorsum(:2) 的返回值是16 (1+2+3+4+6) o輸出語句:System, out. print (i+* ”);例:括號內(nèi)是說明輸入:2 (repeat=2)柿品文檔20 500(m=100, n=400)1 100(m=l, n=100)輸

17、出:28 4961 6 28import java .util. Scanner;public class Test50007public static void main(String args)int ri,repeat:int i, m, n;Scanner in二new Scanner(System. in);repeat=in nextlnt();for (ri=l ;ri<=repeat ;ri+) nFin. nextlnt ();n=in. nextlnt ();/ */for(i=m;i<=n;i+)if (±=factorsum (i)System,

18、out .print (i+H nSystem out. printlnO ;static int factorsum(int number) /返回number的因子和 int sum=0;if (number=l)sum=l;for(int i=l;i<=numberif(number%i=0)sum+=i;return sum;50008求各位數(shù)字的立方和等于它本身的數(shù)輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算:輸入2個正整數(shù)m和n(l<=m, n<=1000),輸出m到n之間的所有滿足各位數(shù)字的立方和等于它本身 的數(shù)。

19、要求定義并調(diào)用函數(shù)is (number)判斷number的各位數(shù)字之立方和是否等于它本身。輸出語句:System, out. print (i+* ");例:括號內(nèi)是說明輸入:2 (repeat=2)100 400(m=100, n=400)1 100(m=l, n=100)輸出:153 370 371 (1*1*1+5*5*5+3*3*3=153; 3*3*3+7*7*7=370; 3*3*3+7*7*7+1*1*1=371)1import java uti1 Scanner;public class Test50008public static void main(String

20、args) int ri,repeat;int i, m, n;Scanner in=new Scanner(System in);repeat=in. nextlnt();for(ri=l:ri<=repeat:ri+) m=in. nextlnt ();nextint ();/*/for(i=m;i<=n;i+)if(is(i)System.out.print(i+n n);System out printlnO ;/*/判斷number的各位數(shù)字之立方和是否等于它本身static boolean is (int number)int sum=0,n z digit;n=num

21、ber;while(n>0)digit=n%10;n=n/10;sum+=digit*digit*digit;if(number=sum)return true;else return false;Irf nu文檔荊品文檔50009將一個整數(shù)逆序輸出輸入一個正整數(shù)repeat (0<repeat<10),做repeat次下列運算: 輸入一個整數(shù),將它逆序輸出。要求定義并調(diào)用函數(shù)reverse (number),它的功能是返回number的逆序數(shù)。例如reverse (12345) 的返回值是54321。例:括號內(nèi)是說明輸入4 (repeat=4)123456 -100 -2

22、99輸出654321-1-299import java. util. Scanner;public class Test50009public static void main(String args)int ri,repeat:long n, res;Scanner in=new Scanner(System, in);repeat=in. nextlnt();for(ri=l:ri<=repeat:ri+) n=in. nextlnt ();/ */res=reverse (n);System, out. println(res);/*/static long reverse (long number) /返回number的逆序數(shù)int flag=l;long a=0,digit;if (number<0)flag=-l;numbe r=-number;while(number>0)digit=number% 10; /分離出個位數(shù)字荊品文檔a=a *10+digi t;/形成當(dāng)前的逆序數(shù)number=number/10;return flag*a;50011用函數(shù)求三個數(shù)的最大值

溫馨提示

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

最新文檔

評論

0/150

提交評論