a=9+98+987+9876+98765+987654+9876543+98765432
b=12345678+1234567+123456+12345+1234+123+12+1
のとき、a/bを計算したとき、整数部分を求めよ。

何か工夫して計算する問題だと思うのですが、それが何か
わかりません。
考え方として2つあると思います。
1つ目は、a,bの値を工夫してもとめて、実際に割り算をする。
しかし、a,bの値を工夫して求めるまでもないように思うので、
この方法ではないように思う。
2つ目は、a,bの値を求めないで何か工夫する方法。
この問題の解法はこの2つ目だと思うが、どうすればいいかは
思いつきません。
よろしく、アドバイスお願いします。

A 回答 (4件)

http://blog.goo.ne.jp/nanasato7/e/b14778a427124b …
こんなページを見つけました

と云う事は
a=8(1+12+123+1234+12345+123456+1234567+12345678)+1+2+3+4+5+6+7+8
b=1+12+123+1234+12345+123456+1234567+12345678

a/b=8+(1+2+3+4+5+6+7+8)/(1+12+123+1234+12345+123456+1234567+12345678)

とこのような感じになります
整数部分だけはでましたので、これで良いかと・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます
これはエレガントな解答です
納得するしかありません

お礼日時:2011/04/28 08:23

ご質問の方針で言えば、1の変形ですが…。


a,bの代わりに計算しやすいa’b’を考えます。

a'=9.8765432+98.765432+…+9876543.2+98765432
b'=12345678+1234567.8+…+12.345678+1.2345678 とおきます。

a'=9.8765432(1+10+100+…1000000)=9.8765432×11111111
b'=1.2345678(1000000+1000000+…+10+1)=1.2345678×11111111
a'/b'= 8 余り0.0000006×11111111=6.6666666

(a'/b')の値が8をわずかに上回るので、(a/b)の整数部分が7になる可能性がないか調べてみます。

ここで a'=a+0.8765432+0.765432+…+0.32+0.2<a+0.9+0.8+…0.4+0.3=a+4.2
b'=b+0.2345678+0.345678+…+0.78+0.8>b+0.2+0.3+…0.7+0.8=b+3.5

6.6666666>4.2 なのでaの代わりにa'で計算したことにより本来の商の整数部分が7なのに繰り上がって8になったことはありません。

また b'>b だから bの代わりにb'で計算したことは、商を小さくする方に働きますので、これも大丈夫です。

したがってb/aの整数部分は8です。 
    • good
    • 0

一度、一の位、十の位・・・と各位ごとに分けて計算すれば、少しは楽に計算できるかと。

    • good
    • 0

1*8 < 9 = 1*9


12*8 < 98 < 12*9
123*8 < 987 < 123*9
1234*8 < 9876 < 1234*9
12345*8 < 98765 < 12345*9
123456*8 < 987654 < 123456*9
1234567*8 < 9876543 < 1234567*9
12345678*8 < 98765432 < 12345678*9
を利用することを想定しているんじゃないだろうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング