プログラミングアルゴリズムの基礎-暴力解読法
1.1暴力解読法
ニワトリとウサギが同じかごにいる.
50頭、120足、鶏とウサギはそれぞれ何匹ですか?
韓信が兵を点す
韓信は部隊数が約1000人程度であることを知っており、具体的な数字は不明だ.
5人1組、残り1人;
7人1組、残り2人;
8人1組、残り3人;
何人いますか.
馬と瓦
全部で100頭の馬がいます
全部で100枚の瓦が積まれています(古代の瓦は、大きくて重いです)
大きな馬1頭につき毎回3枚の瓦を積むことができる.
1匹の馬は毎回2枚の瓦を積むことができる.
駒は毎回2個の駒に1枚の瓦を積む
各種の馬の数を求めます
ヒント:複数の解の可能性があります.すべての解をリストします.
ニワトリとウサギが同じかごにいる.
50頭、120足、鶏とウサギはそれぞれ何匹ですか?
/*
* , 50, 120
* ?
*/
package ChickRabbit;
public class ChickRabbit {
public static void main(String[] args){
int chick;
int rabbit;
int HEAD=50;
int FEET=120;
for(chick=0;chick<=HEAD;chick++){
rabbit=HEAD-chick;
if(rabbit*4+chick*2==FEET){
System.out.println(" :"+chick);
System.out.println(" :"+rabbit);
}
}
}
}
韓信が兵を点す
韓信は部隊数が約1000人程度であることを知っており、具体的な数字は不明だ.
5人1組、残り1人;
7人1組、残り2人;
8人1組、残り3人;
何人いますか.
/* 1000 , 。
5 , 1 ;
7 , 2 ;
8 , 3 ;
, ?*/
package ChickRabbit;
public class HanxinDianBing {
public static void main(String[] args) {
int n;
for (n = 800; n < 2000; n++) {
if (n % 5 == 1 && n % 7 == 2 && n % 8 == 3) {
System.out.println(" :"+n);
}
}
}
}
:891
:1171
:1451
:1731
馬と瓦
全部で100頭の馬がいます
全部で100枚の瓦が積まれています(古代の瓦は、大きくて重いです)
大きな馬1頭につき毎回3枚の瓦を積むことができる.
1匹の馬は毎回2枚の瓦を積むことができる.
駒は毎回2個の駒に1枚の瓦を積む
各種の馬の数を求めます
ヒント:複数の解の可能性があります.すべての解をリストします.
/* 100
100 ( , , )
3
2
2 1
: , 。*/
package ChickRabbit;
public class HorseAndBrick {
public static void main(String[] args) {
int HORSE = 100;
int BRICK = 100;
int big;
int mid;
int little;
for(big=0;big<=100;big++){
for(mid=0;mid<=100;mid++){
little=HORSE-big-mid;
if(big*3+mid*2+little*0.5==BRICK){
System.out.println(" : :"+big+" :"+mid+" :"+little);
}
}
}
}
}
: :2 :30 :68
: :5 :25 :70
: :8 :20 :72
: :11 :15 :74
: :14 :10 :76
: :17 :5 :78
: :20 :0 :80