平成11年11月3日
[流れ星]第34回
数学的な応募問題<解答募集期間:11月3日〜11月15日>
[約分]
太郎さんは、生徒が数学を楽しく学ぶためには「数覚」を磨く必要があると常に思っています。その中に、数がどんな素数から成り立っているかを見分ける能力があります。いわゆる素因数分解です。ときどき、授業中、1から100までの合成数の分解や素数を早く発見する「数覚」を鍛錬しています。
そこで、今回の問題です。
問題1:「下図の○の中に1から9までの数字を1つずつ用いて、分母が5桁、分子が4桁
の分数を作る。この分数を約分することによって、1/2となるようにしてください。」
問題2:「下図の○の中に1から9までの数字を1つずつ用いて、分母が5桁、分子が4桁
の分数を作る。この分数を約分することによって、1/3、1/4,…、1/9となるよう
にしてください。」
<出典問題>:数とその歴史53話の中にあるトライ問題(上垣渉 何森仁 共著):三省堂
太郎さんは、数字の入れ方を実際知りません。生徒に入れてもらって、考えようと思っています。
<四年寝太郎>さんからの解答 3日午前1時受信 更新
とりあえず、プログラムで解こうと思ったらすごく多かったので
結果だけ送りました。ところで、プログラムで解くだけとかの回答も
多いみたいですが、そういうのもいいのでしょうか?
6729*2=13458 6792*2=13584 6927*2=13854 7269*2=14538
7293*2=14586 7329*2=14658 7692*2=15384 7923*2=15846
7932*2=15864 9267*2=18534 9273*2=18546 9327*2=18654
5823*3=17469 5832*3=17496
3942*4=15768 4392*4=17568 5796*4=23184 7956*4=31824
2697*5=13485 2769*5=13845 2937*5=14685 2967*5=14835
2973*5=14865 3297*5=16485 3729*5=18645 6297*5=31485
7629*5=38145 9237*5=46185 9627*5=48135 9723*5=48615
2943*6=17658 4653*6=27918 5697*6=34182
2394*7=16758 2637*7=18459 4527*7=31689 5274*7=36918
5418*7=37926 5976*7=41832 7614*7=53298
3187*8=25496 4589*8=36712 4591*8=36728 4689*8=37512
4691*8=37528 4769*8=38152 5237*8=41896 5371*8=42968
5789*8=46312 5791*8=46328 5839*8=46712 5892*8=47136
5916*8=47328 5921*8=47368 6479*8=51832 6741*8=53928
6789*8=54312 6791*8=54328 6839*8=54712 7123*8=56984
7312*8=58496 7364*8=58912 7416*8=59328 7421*8=59368
7894*8=63152 7941*8=63528 8174*8=65392 8179*8=65432
8394*8=67152 8419*8=67352 8439*8=67512 8932*8=71456
8942*8=71536 8953*8=71624 8954*8=71632 9156*8=73248
9158*8=73264 9182*8=73456 9316*8=74528 9321*8=74568
9352*8=74816 9416*8=75328 9421*8=75368 9523*8=76184
9531*8=76248 9541*8=76328
6381*9=57429 6471*9=58239 8361*9=75249
<kiyo>さんからの解答 3日の午前10時受信 更新
いつもお世話になっています。
十進ベーシックでPログラミングしました。2進モードが速いようです。
所要時間 約10分20秒
2
6 7 2 9 1 3 4 5 8
6 7 9 2 1 3 5 8 4
6 9 2 7 1 3 8 5 4
7 2 6 9 1 4 5 3 8
7 2 9 3 1 4 5 8 6
7 3 2 9 1 4 6 5 8
7 6 9 2 1 5 3 8 4
7 9 2 3 1 5 8 4 6
7 9 3 2 1 5 8 6 4
9 2 6 7 1 8 5 3 4
9 2 7 3 1 8 5 4 6
9 3 2 7 1 8 6 5 4
3
5 8 2 3 1 7 4 6 9
5 8 3 2 1 7 4 9 6
4
3 9 4 2 1 5 7 6 8
4 3 9 2 1 7 5 6 8
5 7 9 6 2 3 1 8 4
7 9 5 6 3 1 8 2 4
5
2 6 9 7 1 3 4 8 5
2 7 6 9 1 3 8 4 5
2 9 3 7 1 4 6 8 5
2 9 6 7 1 4 8 3 5
2 9 7 3 1 4 8 6 5
3 2 9 7 1 6 4 8 5
3 7 2 9 1 8 6 4 5
6 2 9 7 3 1 4 8 5
7 6 2 9 3 8 1 4 5
9 2 3 7 4 6 1 8 5
9 6 2 7 4 8 1 3 5
9 7 2 3 4 8 6 1 5
6
2 9 4 3 1 7 6 5 8
4 6 5 3 2 7 9 1 8
5 6 9 7 3 4 1 8 2
7
2 3 9 4 1 6 7 5 8
2 6 3 7 1 8 4 5 9
4 5 2 7 3 1 6 8 9
5 2 7 4 3 6 9 1 8
5 4 1 8 3 7 9 2 6
5 9 7 6 4 1 8 3 2
7 6 1 4 5 3 2 9 8
8
3 1 8 7 2 5 4 9 6
4 5 8 9 3 6 7 1 2
4 5 9 1 3 6 7 2 8
4 6 8 9 3 7 5 1 2
4 6 9 1 3 7 5 2 8
4 7 6 9 3 8 1 5 2
5 2 3 7 4 1 8 9 6
5 3 7 1 4 2 9 6 8
5 7 8 9 4 6 3 1 2
5 7 9 1 4 6 3 2 8
5 8 3 9 4 6 7 1 2
5 8 9 2 4 7 1 3 6
5 9 1 6 4 7 3 2 8
5 9 2 1 4 7 3 6 8
6 4 7 9 5 1 8 3 2
6 7 4 1 5 3 9 2 8
6 7 8 9 5 4 3 1 2
6 7 9 1 5 4 3 2 8
6 8 3 9 5 4 7 1 2
7 1 2 3 5 6 9 8 4
7 3 1 2 5 8 4 9 6
7 3 6 4 5 8 9 1 2
7 4 1 6 5 9 3 2 8
7 4 2 1 5 9 3 6 8
7 8 9 4 6 3 1 5 2
7 9 4 1 6 3 5 2 8
8 1 7 4 6 5 3 9 2
8 1 7 9 6 5 4 3 2
8 3 9 4 6 7 1 5 2
8 4 1 9 6 7 3 5 2
8 4 3 9 6 7 5 1 2
8 9 3 2 7 1 4 5 6
8 9 4 2 7 1 5 3 6
8 9 5 3 7 1 6 2 4
8 9 5 4 7 1 6 3 2
9 1 5 6 7 3 2 4 8
9 1 5 8 7 3 2 6 4
9 1 8 2 7 3 4 5 6
9 3 1 6 7 4 5 2 8
9 3 2 1 7 4 5 6 8
9 3 5 2 7 4 8 1 6
9 4 1 6 7 5 3 2 8
9 4 2 1 7 5 3 6 8
9 5 2 3 7 6 1 8 4
9 5 3 1 7 6 2 4 8
9 5 4 1 7 6 3 2 8
9
6 3 8 1 5 7 4 2 9
6 4 7 1 5 8 2 3 9
8 3 6 1 7 5 2 4 9
620.62000000000262 今後とも宜しくお願いします。
<ch3cooh>さんからの解答 4日の午後2時受信 更新
今回はプログラムで(多分)全数サーチを行いました。
以下に
n 倍 : 分子 分母 の票を示します。
2 : 6729 13458
2 : 6792 13584
2 : 6927 13854
2 : 7269 14538
2 : 7293 14586
2 : 7329 14658
2 : 7692 15384
2 : 7923 15846
2 : 7932 15864
2 : 9267 18534
2 : 9273 18546
2 : 9327 18654
3 : 5823 17469
3 : 5832 17496
4 : 3942 15768
4 : 4392 17568
4 : 5796 23184
4 : 7956 31824
5 : 2697 13485
5 : 2769 13845
5 : 2937 14685
5 : 2967 14835
5 : 2973 14865
5 : 3297 16485
5 : 3729 18645
5 : 6297 31485
5 : 7629 38145
5 : 9237 46185
5 : 9627 48135
5 : 9723 48615
6 : 2943 17658
6 : 4653 27918
6 : 5697 34182
7 : 2394 16758
7 : 2637 18459
7 : 4527 31689
7 : 5274 36918
7 : 5418 37926
7 : 5976 41832
7 : 7614 53298
8 : 3187 25496
8 : 4589 36712
8 : 4591 36728
8 : 4689 37512
8 : 4691 37528
8 : 4769 38152
8 : 5237 41896
8 : 5371 42968
8 : 5789 46312
8 : 5791 46328
8 : 5839 46712
8 : 5892 47136
8 : 5916 47328
8 : 5921 47368
8 : 6479 51832
8 : 6741 53928
8 : 6789 54312
8 : 6791 54328
8 : 6839 54712
8 : 7123 56984
8 : 7312 58496
8 : 7364 58912
8 : 7416 59328
8 : 7421 59368
8 : 7894 63152
8 : 7941 63528
8 : 8174 65392
8 : 8179 65432
8 : 8394 67152
8 : 8419 67352
8 : 8439 67512
8 : 8932 71456
8 : 8942 71536
8 : 8953 71624
8 : 8954 71632
8 : 9156 73248
8 : 9158 73264
8 : 9182 73456
8 : 9316 74528
8 : 9321 74568
8 : 9352 74816
8 : 9416 75328
8 : 9421 75368
8 : 9523 76184
8 : 9531 76248
8 : 9541 76328
9 : 6381 57429
9 : 6471 58239
9 : 8361 75249
プログラムでは、分子でカウンタを作成しているために、載せた表の順番で回答が得られません。
UNIXのSORTコマンドなどを使用すると、必要とする順序に変更できます。
#include <stdio.h>
#define N 10 // 10 shin-suu
#define M 4 // 4 keta
int
test_restdigit( unsigned long mask, long v )
{int n, t ;while( v )
{n= v%N ;
v= v/N ;
t= 1<<n ;
if ( mask&t ) return 0 ;
mask= mask|t ;}
return 1 ;}
int
next_digit4( unsigned long *mp, int *list )
{int i ;
int v ;
unsigned long mask ;
mask= *mp ;
i= M-1 ;
do {v= list[i] ;
mask= mask&(~(1<<v)) ;
do { v++ ;}
while ( mask&(1<<v) ) ;
if ( v== N )
{i-- ; continue ;}
mask= mask|(1<<v) ;
list[i]= v ;
i++ ;
while ( i<M )
{for ( v= 0 ; mask&(1<<v) ; v++ ) ;
mask= mask|(1<<v) ;
list[i++]= v ; }
*mp= mask ;
return 1 ;}
while( i>= 0 ) ;
return 0 }
int
main( void )
{int list[4] ;
unsigned long mask ;
long value ;
int i, c ;
list[0]= 1 ;
list[1]= 2 ;
list[2]= 3 ;
list[3]= 4 ;
mask= 0x1f ;
c= 0 ;
do {value= list[0]*1000+list[1]*100+list[2]*10+list[3] ;
// printf( "%8d %7d %06x\n", c++, value, mask ) ;
for( i= 2 ; i< 10 ; i++ )
{if ( value*i< 10000 ) continue ;
if ( test_restdigit( mask, value*i ) )
printf( "%2d : %7d %7d\n", i, value, value*i ) ;}
} while( next_digit4( &mask, list ) ) ;
return 0 ;
}
<浜田明巳>さんの解答4日午後5時受信 更新
いつものようにパソコンのプログラムで解きました.今回も十進basicのプログラムです.
これはいわゆる覆面算の問題です.ABCD/EFGHI=1/nとし,式を変形して,ABCD*n=EFGHIとします.後はいつものシラミつぶしです.このままでは面白くないので,n>9の場合にも対応できるプログラムにしました.
せっかくの問題ですが,これは覆面算の問題としては,あまり良くありません.答が複数個出てしまうからです.やはり覆面算は答が1つでなくてはなりません.
7 9 3 2 / 1 5 8 6 4 = 1 / 2
7 6 9 2 / 1 5 3 8 4 = 1 / 2
6 7 9 2 / 1 3 5 8 4 = 1 / 2
7 9 2 3 / 1 5 8 4 6 = 1 / 2
9 2 7 3 / 1 8 5 4 6 = 1 / 2
7 2 9 3 / 1 4 5 8 6 = 1 / 2
9 3 2 7 / 1 8 6 5 4 = 1 / 2
6 9 2 7 / 1 3 8 5 4 = 1 / 2
9 2 6 7 / 1 8 5 3 4 = 1 / 2
7 3 2 9 / 1 4 6 5 8 = 1 / 2
6 7 2 9 / 1 3 4 5 8 = 1 / 2
7 2 6 9 / 1 4 5 3 8 = 1 / 2
5 8 3 2 / 1 7 4 9 6 = 1 / 3
5 8 2 3 / 1 7 4 6 9 = 1 / 3
3 9 4 2 / 1 5 7 6 8 = 1 / 4
4 3 9 2 / 1 7 5 6 8 = 1 / 4
7 9 5 6 / 3 1 8 2 4 = 1 / 4
5 7 9 6 / 2 3 1 8 4 = 1 / 4
9 7 2 3 / 4 8 6 1 5 = 1 / 5
2 9 7 3 / 1 4 8 6 5 = 1 / 5
9 6 2 7 / 4 8 1 3 5 = 1 / 5
9 2 3 7 / 4 6 1 8 5 = 1 / 5
2 9 3 7 / 1 4 6 8 5 = 1 / 5
2 9 6 7 / 1 4 8 3 5 = 1 / 5
3 2 9 7 / 1 6 4 8 5 = 1 / 5
6 2 9 7 / 3 1 4 8 5 = 1 / 5
2 6 9 7 / 1 3 4 8 5 = 1 / 5
7 6 2 9 / 3 8 1 4 5 = 1 / 5
3 7 2 9 / 1 8 6 4 5 = 1 / 5
2 7 6 9 / 1 3 8 4 5 = 1 / 5
2 9 4 3 / 1 7 6 5 8 = 1 / 6
4 6 5 3 / 2 7 9 1 8 = 1 / 6
5 6 9 7 / 3 4 1 8 2 = 1 / 6
7 6 1 4 / 5 3 2 9 8 = 1 / 7
5 2 7 4 / 3 6 9 1 8 = 1 / 7
2 3 9 4 / 1 6 7 5 8 = 1 / 7
5 9 7 6 / 4 1 8 3 2 = 1 / 7
4 5 2 7 / 3 1 6 8 9 = 1 / 7
2 6 3 7 / 1 8 4 5 9 = 1 / 7
5 4 1 8 / 3 7 9 2 6 = 1 / 7
9 3 2 1 / 7 4 5 6 8 = 1 / 8
7 4 2 1 / 5 9 3 6 8 = 1 / 8
9 4 2 1 / 7 5 3 6 8 = 1 / 8
5 9 2 1 / 4 7 3 6 8 = 1 / 8
9 5 3 1 / 7 6 2 4 8 = 1 / 8
9 5 4 1 / 7 6 3 2 8 = 1 / 8
6 7 4 1 / 5 3 9 2 8 = 1 / 8
7 9 4 1 / 6 3 5 2 8 = 1 / 8
5 3 7 1 / 4 2 9 6 8 = 1 / 8
4 5 9 1 / 3 6 7 2 8 = 1 / 8
4 6 9 1 / 3 7 5 2 8 = 1 / 8
5 7 9 1 / 4 6 3 2 8 = 1 / 8
6 7 9 1 / 5 4 3 2 8 = 1 / 8
7 3 1 2 / 5 8 4 9 6 = 1 / 8
8 9 3 2 / 7 1 4 5 6 = 1 / 8
8 9 4 2 / 7 1 5 3 6 = 1 / 8
9 3 5 2 / 7 4 8 1 6 = 1 / 8
9 1 8 2 / 7 3 4 5 6 = 1 / 8
5 8 9 2 / 4 7 1 3 6 = 1 / 8
7 1 2 3 / 5 6 9 8 4 = 1 / 8
9 5 2 3 / 7 6 1 8 4 = 1 / 8
8 9 5 3 / 7 1 6 2 4 = 1 / 8
8 9 5 4 / 7 1 6 3 2 = 1 / 8
7 3 6 4 / 5 8 9 1 2 = 1 / 8
8 1 7 4 / 6 5 3 9 2 = 1 / 8
8 3 9 4 / 6 7 1 5 2 = 1 / 8
7 8 9 4 / 6 3 1 5 2 = 1 / 8
9 3 1 6 / 7 4 5 2 8 = 1 / 8
7 4 1 6 / 5 9 3 2 8 = 1 / 8
9 4 1 6 / 7 5 3 2 8 = 1 / 8
5 9 1 6 / 4 7 3 2 8 = 1 / 8
9 1 5 6 / 7 3 2 4 8 = 1 / 8
5 2 3 7 / 4 1 8 9 6 = 1 / 8
3 1 8 7 / 2 5 4 9 6 = 1 / 8
9 1 5 8 / 7 3 2 6 4 = 1 / 8
8 4 1 9 / 6 7 3 5 2 = 1 / 8
8 4 3 9 / 6 7 5 1 2 = 1 / 8
5 8 3 9 / 4 6 7 1 2 = 1 / 8
6 8 3 9 / 5 4 7 1 2 = 1 / 8
4 7 6 9 / 3 8 1 5 2 = 1 / 8
8 1 7 9 / 6 5 4 3 2 = 1 / 8
6 4 7 9 / 5 1 8 3 2 = 1 / 8
4 5 8 9 / 3 6 7 1 2 = 1 / 8
4 6 8 9 / 3 7 5 1 2 = 1 / 8
5 7 8 9 / 4 6 3 1 2 = 1 / 8
6 7 8 9 / 5 4 3 1 2 = 1 / 8
8 3 6 1 / 7 5 2 4 9 = 1 / 9
6 4 7 1 / 5 8 2 3 9 = 1 / 9
6 3 8 1 / 5 7 4 2 9 = 1 / 9
n>9のとき,nの最大値は68で,その時の答は次の1通りです.
1 4 5 2 / 9 8 7 3 6 = 1 / 68
!mondai34.bas
!ABCD/EFGHI=1/n(n=2,3,4,...,9) -> ABCD*n=EFGHI
dim kuriagari(3)
for n=2 to 9 !for n=2 to 100
for D=1 to 9
let I=mod(D*n,10)
if I>0 and D<>I then
let kuriagari(1)=int(D*n/10)
for C=1 to 9
if D<>C and I<>C then
let H=mod(C*n+kuriagari(1),10)
if H>0 and D<>H and I<>H and C<>H then
let kuriagari(2)=int((C*n+kuriagari(1))/10)
for B=1 to 9
if D<>B and I<>B and C<>B and H<>B then
let G=mod(B*n+kuriagari(2),10)
if G>0 and D<>G and I<>G and C<>G and H<>G and B<>G then
let kuriagari(3)=int((B*n+kuriagari(2))/10)
for A=1 to 9
if D<>A and I<>A and C<>A and H<>A and B<>A and G<>A then
let F=mod(A*n+kuriagari(3),10)
if F>0 and D<>F and I<>F and C<>F and H<>F and B<>F and G<>F and A<>F then
let E=int((A*n+kuriagari(3))/10)
if A+B+C+D+E+F+G+H+I=1+2+3+4+5+6+7+8+9 THEN
print A;B;C;D;"/";E;F;G;H;I;"= 1 /";n
end if
end if
end if
next A
end if
end if
next B
end if
end if
next C
end if
next D
next n
end
PS.最近ペースが早くなってきています.ちょっときついです.
<水の流れ:コメント> 4日記入
n>9のとき,nの最大値は68で,その時の答は次の1通りです.1 4 5 2 / 9 8 7 3 6 = 1 / 68
これは思わぬことが分かりました。ありがたいです。皆さんに感謝します。
<自宅>
mizuryu@aqua.ocn.ne.jp最初のページへもどる