日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java经典50道_50道经典的JAVA编程题(41-45)

發(fā)布時間:2024/10/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java经典50道_50道经典的JAVA编程题(41-45) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

50道經(jīng)典的JAVA編程題(41-45),苦逼的程序猿,晚上睡不著了編程吧~今天堅持做10道題!發(fā)現(xiàn)編程能是我快樂。。。O(∩_∩)O哈哈~能平靜我煩亂的心,剩下5道題留到考試完了再做吧!該睡覺了、、、

【程序41】 MonkeyPeach.java

題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一

個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中

,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

注: 遞歸得到還沒拿桃子時的桃子數(shù),每次得到的值必須是整數(shù)

javapackage test50;

/**

* @author VellBibi

*【程序41】 MonkeyPeach.java

*題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一

*個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中

*,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

*/

public class MonkeyPeach {

/**

* 獲得第n個猴子還沒拿桃子時的桃子數(shù)

* 最后一個猴子拿了m個桃子

* @param n

* @param m

* @return

*/

public static int getNum(int n, int m){

if(n > 5) return m*4;

else {

double ans = getNum(n+1, m) / 4.0 * 5 + 1;

if(ans%1 != 0.0 || ans == 1){//判斷結(jié)果是否為整數(shù),或者結(jié)果不為1

return 0;

}else

return (int)ans;

}

}

public static void main(String[] args) {

int ans = 0;

for(int i=1; ; i++){

ans = getNum(1, i);

if(ans != 0){

System.out.println("當(dāng)最后一只猴子拿走" + i + "個桃子時,海灘上原來桃子得到最小值為:");

System.out.println(ans);

break;

}

}

}

}

反推數(shù)據(jù):(驗證結(jié)果是正確的)

感覺上面的實現(xiàn)方案有點小題大做了,要是直接驗證結(jié)果的話會更快的得到答案,看代碼:

javapackage test50;

/**

* @author VellBibi

*【程序41】 MonkeyPeach_1.java

*題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一

*個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中

*,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

*1.程序分析:采取直接驗證結(jié)果的方式

*/

public class MonkeyPeach_1 {

public static boolean isRight(int n) {

for(int i=0; i<5; i++) {

if(n % 5 == 1) {

n = n - 1;

n = n - n / 5;

}else

return false;

}

return true;

}

public static void main(String[] args) {

for(int n=1; ; n++) {

if(isRight(n)) {

System.out.println("海灘上原來桃子得到最小值為:" + n);

return;

}

}

}

}

【程序42】 Test4.java

題目:809*??=800*??+9*??+1

其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。

注:這道題很有問題啊。沒有結(jié)果~~~好生郁悶,看我的兩種理解吧第一種:所有的??代表同一個數(shù)

javapackage test50;

/**

* @author VellBibi

*【程序42】 Test4.java

*題目:809*??=800*??+9*??+1

*其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。

*/

public class Test4 {

public static void main(String[] args) {

for(int i=10; i<100 && 8*i<100 && 9*i<1000; i++){

if(809*i == (800*i + 9*i + 1)){

System.out.println("??代表的兩位數(shù):" + i);

System.out.println("809*??后的結(jié)果" + i*809);

return;

}

}

System.out.println("沒有符合的數(shù)");

}

}

第二種:所有的??都不同

javapackage test50;

/**

* @author VellBibi

*【程序42】 Test4.java

*題目:809*??=800*??+9*??+1

*其中??代表的兩位數(shù),8*??的結(jié)果為兩位數(shù),9*??的結(jié)果為3位數(shù)。求??代表的兩位數(shù),及809*??后的結(jié)果。

*/

public class Test4_1 {

public static void main(String[] args) {

for(int i=10; i<100; i++){

for(int j=10; j<100 && 8*j<100; j++){

for(int l=10; l<100 && 9*l<1000; l++){

if(809*i == 800*j + 9*l + 1){

System.out.println("809*"+i+"== 800*"+j+"+ 9*"+l+"+ 1");

System.out.println("809*??后的結(jié)果" + i*809);

return;

}

}

}

}

System.out.println("沒有符合的數(shù)");

}

}

【程序43】 Test5.java

題目:求0—7所能組成的奇數(shù)個數(shù)。

注:當(dāng)有一位數(shù)時:有1.3.5.7這4個奇數(shù)

當(dāng)有兩位數(shù)時:最高為有7種(除0)選擇,最低為有4(1.3.5.7為奇數(shù)的條件)種? 總數(shù)為4*7

當(dāng)有三位數(shù)時:最高為有7中(除0)選擇,第二位有8中選擇,最后一位4種(1.3.5.7) 總數(shù) 4*8*7

當(dāng)有四位數(shù)時:最高為有7中(除0)選擇,第三位有8中選擇,第二位有8中選擇,最后一位4種(1.3.5.7) 總數(shù) 4*8*8*7

*

*

*

依次類推

javapackage test50;

/**

* @author VellBibi

*【程序43】 Test5.java

*題目:求0—7所能組成的奇數(shù)個數(shù)。

* 注:當(dāng)有一位數(shù)時:有1.3.5.7這4個奇數(shù)

* 當(dāng)有兩位數(shù)時:最高為有7種(除0)選擇,最低為有4(1.3.5.7為奇數(shù)的條件)種 總數(shù)為4*7

* 當(dāng)有三位數(shù)時:最高為有7中(除0)選擇,第二位有8中選擇,最后一位4種(1.3.5.7) 總數(shù) 4*8*7

* 當(dāng)有四位數(shù)時:最高為有7中(除0)選擇,第三位有8中選擇,第二位有8中選擇,最后一位4種(1.3.5.7) 總數(shù) 4*8*8*7

*/

public class Test5 {

public static void main(String[] args) {

int cup = 7*4;//二位數(shù)

int count = cup + 4;

for(int i=2; i<8; i++){

cup = 8*cup;

count = count + cup;

}

System.out.println("0—7所能組成的奇數(shù)個數(shù):" + count);

}

}

【程序44】 TestEven.java

題目:一個偶數(shù)總能表示為兩個素數(shù)之和。

javapackage test50;

import java.util.Scanner;

/**

* @author VellBibi

*【程序44】 TestEven.java

*題目:一個偶數(shù)總能表示為兩個素數(shù)之和。

*/

public class TestEven {

/**

* 判斷n是不是質(zhì)數(shù)

* @param n

* @return

*/

public static boolean isPrimeNumber(int n){

if(n < 2)return false;

for(int i=2; i

if(n%i == 0)

return false;

}

return true;

}

public static void main(String[] args) {

int n = new Scanner(System.in).nextInt();

if(n%2 != 0){

System.out.println("輸入的不是偶數(shù)");

return;

}

for(int i=2; i

if(isPrimeNumber(i) && isPrimeNumber(n - i)){

System.out.println(n + "=" + i + "+" + (n-i));

return;

}

}

}

}

【程序45】TestPrime9.java

題目:判斷一個素數(shù)能被幾個9整除這個題貌是有問題吧,素數(shù)只能被1和自身整除啊,9都不是素數(shù)。。。無解

總結(jié)

以上是生活随笔為你收集整理的java经典50道_50道经典的JAVA编程题(41-45)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。