吉川 マサル |
う、簡単な問題だったのかなぁ...。こんなに速いとは予想外でした。 |
PowerBook G4
7月27日(木) 0:10:06
MAIL:masaru-y@san su.org HomePage:算チャレ 27914 |
仮面ランナー サブスリー |
久々の2位!(通算3度め?)
ただでさえ上位ランキングは難しいのに、最近リアルタイム参加できる機会が減り、ますます厳しくなっているので、嬉しさもひとしおです。 |
7月27日(木) 0:11:26
27915 |
かっくん |
9・・・9×1
9×99=891・・・18=9×2 9×99×999=890109・・・27=9×3 ( ゜o゜)ハッ 求める解は9×20=180 としました。 勘です。。。 |
お風呂
7月27日(木) 0:12:45
HomePage:寺子屋(仮) 27916 |
sugitakukun |
#27916
私もそんな感じで送りましたが、その次が8900199891で45なんですよね… さて、模範解答考えてきます λ…… |
7月27日(木) 0:14:23
27917 |
ビューティーフルーツWITHキムタクアンド俺 |
なんとなくびみょうっすね。
なんでそうなるかわかってないし・・・ 俺も勘でときました。 |
ビューティー島
7月27日(木) 0:14:45
27918 |
ビューティーフルーツWITHキムタクアンド俺 |
そうなんですか!!! 21番目にしたら、正解者が減る問題だったということですね |
ビューティー島
7月27日(木) 0:15:41
27919 |
凡太 |
8900199891は54では? |
7月27日(木) 0:15:55
27920 |
ちゃーみー |
とりあえずそれっぽい答えを送りましたが,それで正しいのか
いまだによくわかりません。今から証明を考えます。 |
7月27日(木) 0:20:58
MAIL:ojamaru@amber.plala.or.jp 27921 |
DrK |
とにかくあてずっぽうでした。 |
今度こそ地上の楽園
7月27日(木) 0:23:43
MAIL:satoka@star.odn.ne.jp 27922 |
ちゃーみー |
n 個かけると和が 9n になるのだとしたら,直感的におかしなことが起きてしまいます。
というのも,n 個かけると,その積は 10*10^2*…*10^n=10^{n(n+1)/2} に近く, 桁数はほぼ 「 n の 2 次式」 になるはず。でも各桁の和が n の 1 次式ということは, n → ∞ の極限で 「 n 個かけた数の各桁の数の平均 」 は 0 に収束します。 さすがにそんな都合のよいことは起きないでしょう。 というわけで,180 が正解だとしたら,「 n=20 のときたまたま 180 になる」 はずです。 |
7月27日(木) 0:43:15
MAIL:ojamaru@amber.plala.or.jp 27923 |
ろろ |
実際に桁数無制限の電卓で計算すると、とんでもない数になってしまうのですが、うち間違いでしょうか。
|
7月27日(木) 1:07:54
HomePage:ろろ&りょりょ 27924 |
吉川 マサル |
帰宅しました。これから夕食です。
う、もしかしてまたミスったかな...。....って、ミスったような気がしてきた...。ちょっと検証します。 |
PowerBook G4
7月27日(木) 0:51:51
MAIL:masaru-y@san su.org HomePage:算チャレ 27925 |
吉川 マサル |
あ、勘違いでした。やっぱ大丈夫な気が。m(__)m |
PowerBook G4
7月27日(木) 0:53:13
MAIL:masaru-y@san su.org HomePage:算チャレ 27926 |
呑ちゃん |
私は勿論勘で酒よ〜ん。
5回目あたりからずれるような気もするので酒が、ま、ドンマイ。 お休みなさ〜い。 |
河童ランド
7月27日(木) 0:56:27
MAIL:hopes@mba.ocn.ne.jp HomePage:HOPESよいとこ一度はおいで 27927 |
mhayashi |
990 になった人いませんかー? |
関西
7月27日(木) 1:00:47
HomePage:M.Hayashi's Web Site 27928 |
吉川 マサル |
しまった、間違えました。m(__)m
9×99×999×・・・・×99999999999999999999 とすると、最後の数(9が20個続く数)をかける直前にできる数が、19ケタになると勘違いしていました...。m(__)m |
PowerBook G4
7月27日(木) 1:03:31
MAIL:masaru-y@san su.org HomePage:算チャレ 27929 |
吉川 マサル |
#27928
990という答えは結構届いています。(プログラマ系の方が多いので、正しい解なのかも) |
PowerBook G4
7月27日(木) 1:09:26
MAIL:masaru-y@san su.org HomePage:算チャレ 27930 |
ちゃーみー |
#27928 自分もそうなりましたー。
桁数無制限電卓で計算した値から地道に計算したらそうなりましたが…。 |
自宅
7月27日(木) 1:09:59
MAIL:ojamaru@amber.plala.or.jp 27931 |
吉川 マサル |
う〜ん、復旧は不可能っぽいです...。収拾のさせ方はこれから考えます。m(__)m |
PowerBook G4
7月27日(木) 1:14:39
MAIL:masaru-y@san su.org HomePage:算チャレ 27932 |
kasama |
数式ソフトにやらせましたが。
9*99*999*9999*99999*999999*9999999*99999999*999999999*9999999999*99999999999*999999999999*9999999999999*99999999999999*999999999999999*9999999999999999*99999999999999999*999999999999999999*9999999999999999999*99999999999999999999 = 890010099998999000001088910111109988888789998900113232311998767666566681133536564421986643232355881354768674530785532323466902244656353310766656667679002132323109988999878888900111110088910999998999000010099891 となって、990が正解では? |
7月27日(木) 1:23:13
27933 |
ぺいぺいや |
ぜひ正しい答でランキングを修正してくださいな
ちなみに計算せずに990を求める方法はありますか? |
7月27日(木) 1:28:08
27934 |
kasama |
一応、プログラムにもやらせてみました。
import java.math.*; public class Question551 { public static void main(String args[]) { String s = ""; BigInteger b = BigInteger.ONE; for (int i = 0; i < 20; ++i) { s += "9"; b = b.multiply(new BigInteger(s)); } int count = 0; String sb = b.toString(); for (int i = 0; i < sb.length(); ++i) count += Integer.parseInt(sb.substring(i, i+1)); System.out.println(count); } } |
7月27日(木) 1:29:50
27936 |
吉川 マサル |
とりあえず、990という答えは正しいようですが、私には(手計算以外で)算数でその答えを導く方法が分かりません。(どなたかお分かりになる方がいらっしゃれば、お教えいただければ幸いです)
そんなわけで、とりあえず順位表は、正解を990として作成しなおしますが、算数の解法が見つかるまでは順位付けはしないことにいたします。(上位の方、本当に申し訳ありません)また、正解者掲示板にはパスワードなしで入れる状態にいたしますので、ご意見・ご批判等を書き込んでいただければと思います。 今回のミスは、#27929に書いたような超初歩的な勘違いが原因です。実は出題直前までは、1×2×3×・・・・999999(9が20個)になっていて、「これだとケタ数が20を超えてしまう」と気付いて今の形に変えたという、本当にマヌケな話でした。情けない...。(そもそも20ケタ以下なら大丈夫...というのも間違っていたらもうどうしようもないですが、それは正しいかと思うのですが...) |
PowerBook G4
7月27日(木) 1:30:28
MAIL:masaru-y@san su.org HomePage:算チャレ 27937 |
な |
何度計算しても990になるので何か見落としているのかと思った。
|
7月27日(木) 1:51:35
27938 |
な |
何度計算しても990になるので何か見落としているのかと思った。
|
7月27日(木) 1:53:03
27939 |
sugitakukun |
ん〜、問題ミスでしたか…
#27926あたりで、1分あまりで検証できているので一撃必殺な解法があるのかと…… なお、ランキングのほうは「No Contest」で修正しておきました。 |
7月27日(木) 1:59:02
27940 |
Taro |
疲れていて開始時間に寝過ごしました。
そのため9×99×999=890109より答えを180と予想するのが限界でした。 いつものようにプログラムでチェックしようにも,気力が残ってませんでした。 |
じたくぅ
7月27日(木) 2:09:33
27941 |
仮面ランナー サブスリー |
#27915
ぬか喜びだったのですね...上出来すぎると思っていたのでかえって納得(^^; パスワード無しで入室できるとは親切ですね。書き込み読んで勉強させていただます。 |
7月27日(木) 2:37:47
27942 |
ミキティ |
こんなときに限ってノーコンテストとは。(^^;;
参考になるかどうかは分かりませんが、 44項まで求めてみました。プログラムです: 9 18 27 54 54 99 108 153 189 216 315 333 396 495 603 639 702 810 864 990 990 1161 1206 1278 1422 1485 1647 1683 1935 1926 2232 2385 2556 2718 2889 2961 3150 3411 3555 3600 3852 4113 4410 4446 ? 100 x=1 110 for i=1 to 20 120 x=x*(10^i-1) 130 s=0 140 x0=x 150 for j=1 to i*(i+1)/2 160 p=mod(x0,10) 170 s=s+p 180 x0=int((x0-p)/10) 190 next j 200 print i,s 210 next i 220 end |
7月27日(木) 3:40:14
27943 |
ミキティ |
少し訂正。for i=1 to 20 と書きましたが、
20は上限値なので、適当な数字で構いません。(^^;; |
7月27日(木) 3:43:17
27944 |
さわたり |
今回から参戦予定だったものです。sugitakuさんのところから飛んできたんですが^^;
桁数と思い込んで209で送信・・・あれ?簡単すぎないか?と思ったら読み間違い(焦りすぎ で、問題ミスドンマイです>< 次回こそは正解したいな〜 |
7月27日(木) 4:09:20
27945 |
uchinyan |
はい、おはようございます。今回は大変でしたね。
今朝、いつものように来たら、長い「お詫び」が... 一応少し考えてみましたが、やはりよく分からないです。 プログラムでチェックして 990 でした。ただ、最初、プログラムミスで何故か 180 になったのは、ナイショ (^^; |
ネコの住む家
7月27日(木) 9:08:03
MAIL:uchi@sco.bekkoame.ne.jp 27946 |
ビューティーフルーツWITHキムタクアンド俺 |
やっぱりそんなに甘い問題を出すとこじゃないね。
ここは・・・ |
ビューティー島
7月27日(木) 11:41:08
27947 |
謎のxff |
あまいね。 |
7月27日(木) 13:04:16
27948 |
「数学」小旅行 |
Mathematica でプログラムをしてみました。
z = 1; Do[z *= (10^i - 1), {i, 20}] m = IntegerPart[Log[10, z]] + 1; n = 0; Do[{k = IntegerPart[z/10^(m - i)], n += k, z = z - k*10^(m -i)},{i, m}] n で、990であることが分かりました。 |
7月27日(木) 13:15:25
27949 |
あ |
あ
|
7月27日(木) 14:56:49
MAIL:あ 27950 |
サザエさん |
答え教えて |
7月27日(木) 14:58:16
27951 |
サザエさん |
答え教えて |
7月27日(木) 14:58:27
27952 |
まるケン |
桁数は、上位の桁が8900・・・と安定していくので、n×(n+1)÷2になるっていうことはわかりました。(これが、8×88×888×・・・だとそうはいかない)
なので、9が20個の数までかけると、20×21÷2=210で210桁の数になる。 0から9までの数が適当にあるとして、中間の4.5をかけて945。 ま、大体、これ前後の数になるんだろうな、、、 ちなみに、この210桁数は9の倍数なので、全桁を足した数も9の倍数になる。 と、わたしの頭でわかるのはこの辺まで。 実際の答えは、例によってRubyでプログラム書いて990を得ました。 m=1 (1..20).each do |i| m*=("9"*i).to_i end p eval(m.to_s.split("").join("+")) 今回の問題、誰かちょっといじって、面白い問題に完成させてくださいな!! Rubyの宣伝 今回のような 9が20個並んだ数は、 ("9"*20).to_i って表現できちゃいます。 メモリが許せば、桁数も無制限。 ね、いいでしょ? |
7月27日(木) 15:26:00
MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋 27953 |
スモークマン |
そうなんだ・・・
溶けてしまいそうなこの暑さなのに、、、これは解けない。。。 これが、 9*99*9999*99999999*9999999999999999 なら解けそうな気がしませんか? わたしはまだ確認してませんけど・・・(^^; (頭が暑さで溶けそうなもんで。。。) |
金光
7月27日(木) 15:50:27
27954 |
uchinyan |
#27953
なるほど、Rubyって便利そうですね。ちょっと使ってみたくなりました ^^; |
ネコの住む家
7月27日(木) 17:32:38
MAIL:uchi@sco.bekkoame.ne.jp 27955 |
DrK |
実は、私も7桁まで掛け合わせて見たのですが、次々と大きな値になって行きます。それぞれの数には法則性がありそうな気がするので、何か求める方法はあると思うのですが、当然、算数の範囲は超えていると思います。
|
今度こそ地上の楽園
7月27日(木) 17:34:59
MAIL:satoka@star.odn.ne.jp 27956 |
まるケン |
#27955
ね、よさそうでしょ?フリーだし!! ちなみに、私のプログラムの桁の合計を求めているところ p eval(m.to_s.split("").join("+")) 数字mを文字列に変換し、全部をばらばらにしてから"+"でつなぎ、それを式として計算させるってことしています。 でも、これだと、何百桁という数字を全部展開しなければならず、メモリの限界が、、、 なので、私のPCでは、"9"が184個までしか計算できませんでした。 ちなみに、184のときの各桁の合計は、76050となりました。 そこで、桁の合計を eval を使わず、ループでコツコツ計算させるよう書き換えたところ、(現在計算進行途中ですが、)200桁で90387、250桁で140922、、、と頑張って計算し続けています。 def ketack(m) s=0 while(m > 0) s += m%10 m /= 10 end return s end |
7月27日(木) 18:33:57
MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋 27957 |
まるケン |
その後、、、
300桁:202941 350桁:276264 これ以上計算させる意味って、、、 もういいかな、、、 |
7月27日(木) 18:59:57
MAIL:take4310@mobile.email.ne.jp HomePage:まるケンの部屋 27958 |
CRYING DOLPHIN |
#27954
なるほど、真中の位を挟んで数字の並びに規則性がありそうですね。 全ての位の数字が9で表せる整数は(10^n)−1で表せることを利用すれば 証明できそうな気がしますが、考える時間と気力がありませぬ… |
シャララ
7月27日(木) 22:17:50
HomePage:算数とか隧道とか 27959 |
スモークマン |
#27954
地道に数えて、、、 + : 1,2,4,7,8,11,13,14,16,19,21,22,25,26,28,31 - : 3,5,6,9,10,12,15,17,18,20,23,24,27,29,30 つまり、 1-1-1+1-1+1+1-1-1+1+1-1+1-1-1+1-1+1+1-1+1-1-1+1+1-1-1+1-1+1+1-1 0 8 9 0 9 1 0 8 9 1 0 9 0 8 9 0 9 1 0 9 0 8 9 1 0 8 9 0 9 1 0 9 となるはずだから、 9*11+(8+1)*5=9*16=144 になるのかな? これ以上の桁になったときは何らかの規則性がないと計算は大変になりそう・・・ 今のところ規則性はわたしには分かりません。。。(^^) 9を16個連ねたときが、9*16 なので、ひょっとしたら 9を 2^n 個連ねたときは、 9*2^n になるのかな? |
金光
7月27日(木) 23:38:18
27960 |
uchinyan |
#27954, #27959
確かに。これならば、倍々ゲームですね。 >9*99*9999*99999999*9999999999999999 の場合の掛け算の結果の各桁の数字の和は、144 かな。 一般に、 9 * 99 * 9999 * 99999999 * 9999999999999999 * ... * 99…(2^n 個)…99 の場合は、9 * 2^n になりそうです。 証明は... しばらく書かないでおきましょう ^^; |
ネコの住む家
7月27日(木) 23:30:06
MAIL:uchi@sco.bekkoame.ne.jp 27961 |
ごとこす |
おこってるんだ |
7月27日(木) 23:43:17
27962 |
weapon |
a_n=a_(n-1)-1+9*(2^n)-a_(n-1)+1
|
7月28日(金) 0:00:42
27963 |
後藤 |
ぜーんぶひとりでといた |
7月28日(金) 0:30:03
27964 |
gvgvfgvfhhgghghfghgghっげh |
thんydhcffgxdsxfdrgfr普tjthjgvsky |
7月28日(金) 0:30:32
27965 |
スモークマン |
#27961
まだ証明は思いつかないですが、、、 帰納法でいうのかな?? 9*99*9999*99999999*9999999999999999 ならできそうと思ったのは、 (10-1)(10^2-1)(10^4-1)(10^8-1)(10^16-1) なら、展開しても各桁の値がすべて 1 か、-1 になるから計算できそうと思ったんです・・・(^^) |
金光@岡山
7月28日(金) 1:42:17
27966 |
uchinyan |
#27966
私が思いついている解法は、かなりナイーブな計算の延長のような方法です。帰納法というか、漸化式を使います。 weaponさんの#27963と、結果は同じになりますが、こんなに「あっさり」ではないです (^^; ポイントは、スモークマンさんも書かれていますが、99…(2^n 個)…99 = 10^(2^n) - 1 ですね。 と、書きましたが、スモークマンさん流の方法の方が、説明次第ですが、簡明な証明ができそうです。 |
ネコの住む家
7月28日(金) 10:45:12
MAIL:uchi@sco.bekkoame.ne.jp 27967 |
スモークマン |
#27967
うまくいえないんですが、、、 (10-1)(10^2-1)(10^4-1)・・・(10^(2^n)-1) の項は、n+1項。 n+1項から偶数項とる方法は、 n が偶数の時、n+1 は奇数なので、 (n+1)C1+(n+1)C3+・・・+(n+1)C(n+1)=2^n・・・+1 (n+1)C0+(n+1)C2+(n+1)C4+・・・+(n+1)Cn=2^n・・・-1 は同数で、これは、各桁の数字の和は、 1-11-1・・・1-11-1 と同じはずだから、 0909・・・0909 の場合の9*2^n と同じはず。 実際の数は、 1-1-11-111-1-1・・・11-1-11-111-1 で、089091089・・・108909109 んな感じの数になってる。 n が奇数の時、n+1 は偶数だが、やはり、 (n+1)C1+(n+1)C3+・・・+(n+1)Cn=2^n・・・-1 (n+1)C0+(n+1)C2+・・・+(n+1)C(n+1)=2^n・・・+1 は同数なので、やはり同じく9*2^n 実際の数は、 1-1-11-111-1-1・・・-1-111-11-1-11 で、089091089・・・891090891 んな感じの数になってる。 途中の説明がうまくいえない・・・・(^^;; |
金光
7月28日(金) 15:47:14
27968 |
よっしー |
1個ずつ掛け算していってわかったことは8桁目までやけど、合計は9の倍数だけ・・・・・・w |
7月28日(金) 22:36:09
27970 |
uchinyan |
#27968 少し修正。
スモークマンさん流のアプローチでの証明は、大筋同じです。 直感的には明らかなんだけど、ちょっと説明しにくいんですよね。 #27954の問題の拡張 9 * 99 * 9999 * 99999999 * 9999999999999999 * ... * 99…(2^n 個)…99 = (10 - 1) * (10^2 - 1) * (10^4 - 1) * ... * (10^(2^n) - 1) = (10^3 - 10^2 - 10^1 + 10^0) * (10^4 - 1) * ... * (10^(2^n) - 1) = (10^7 - 10^6 - 10^5 + 10^4 - 10^3 + 10^2 + 10^1 - 10^0) * ... * (10^(2^n) - 1) = 10^(2^(n+1) - 1) - 10^(2^(n+1) - 2) - 10^(2^(n+1) - 3) + 10^(2^(n+1) - 4) - 10^(2^(n+1) - 5) + 10^(2^(n+1) - 6) + 10^(2^(n+1) - 7) - 10^(2^(n+1) - 8) + ... + (-1)^(n-1) * 10^3 + (-1)^n * 10^2 + (-1)^n * 10^1 + (-1)^(n+1) * 10^0 そこで、掛け算の値は、桁にマイナスを許すという架空の表記法での見た目は、2^(n+1) 桁の各桁が +1, -1, -1, +1, -1, +1, +1, -1, ..., (-1)^(n-1), (-1)^n, (-1)^n, (-1)^(n+1) となる数、とみなすことができます。 これは、二つずつの +1, -1 が組になって、これに適当に -1 がかかったものが繰り返しています。 繰り返しは、2^(n+1) * 1/2 = 2^n 回になります。 しかし、桁の数字が -1 というのはナンセンスなので、実際には、10 - 1 = 9 の意味になります。 さらに、実際の計算では、10 - 1 = 9 を行う際に、一つ上の桁から 1 を借りてくることになり、 -1 の桁よりも一つ上の桁の数字が -1 されます。 (したがって、実際には、2^(n+1) - 1 桁の数になりますが、これは、今の議論では、それ程重要ではありません。) さて、求めたいのは、掛け算の値ではなく、その値の各桁の数字を加えた値です。 そこで、次のようなトリックが使えます。つまり、加える数は、 ・桁の数字が +1 の時は、+1 となります。 ・桁の数字が -1 の時は、10 - 1 = 9 となりますが、一つ上の桁の数字を -1 する必要があるので、それを補うために 9 - 1 とします。 すべての桁の和を求めると、9 - 1 の -1 は、ちょうど一つ上の桁の数字から 1 を引くことに対応しています。 これらのことを考え合わせると、求める値は、 ・+1, -1 の組では、(+1) + (9 - 1) = 9 になります。 ・-1, +1 の組では、(9 - 1) + (+1) = 9 になります。 実際の計算では、-1, +1 の組の先頭の 9 - 1 の -1 は、その前の組の最後と打ち消すのですが、 この分け方では、後ろの +1 と打ち消し、計算が楽になるのがミソです。 求めるものが各桁の数字の和なので、このようなトリックが使えます。 そこで、結局、求める値は、組の繰り返しが 2^n 回だったので、9 * 2^n になります。 |
ネコの住む家
7月29日(土) 9:15:01
MAIL:uchi@sco.bekkoame.ne.jp 27971 |
uchinyan |
#27971の続き
よりナイーブな方法です。 見た目すごい式が並びますが、実は、 9 * 99 = 9 * (100 - 1) 0900 -009 ---- 0891 9 * 99 * 9999 = 891 * (10000 - 1) 08910000 -0000891 -------- 08909109 9 * 99 * 9999 * 99999999 = 8909109 * (100000000 - 1) 0890910900000000 -000000008909109 ---------------- 0890910891090891 などを、一般化しただけです。 #27954の問題の拡張 のよりナイーブな証明 a(n) = 9 * 99 * 9999 * 99999999 * 9999999999999999 * ... * 99…(2^n 個)…99 とします。 99…(2^n 個)…99 = 10^(2^n) - 1 なので、次の漸化式がいえます。 a(n) = a(n-1) * 99…(2^n) 個)…99 = a(n-1) * (10^(2^n) - 1) = a(n-1) * 10^(2^n) - a(n-1) ここで、一般に、n >= 0 で a(n) は 2^(n+1) - 1 桁で、a(n) の下一桁は 0 ではありません。 下一桁に関しては明らか。 桁数に関しては、a(0) = 9 は明らか。 一般の a(n) は、a(n-1) が 2^n - 1 桁とすると、 a(n-1) * 10^(2^n) が (2^n - 1) + 2^n = 2^(n+1) - 1 桁なので、漸化式より明らかです。 さてこのときに、a(n) の各桁を考えてみます。a(n) の i 桁を a(n,i) と書くことにします。 i は、0 から始まるので、0 <= i <= 2^(n+1) - 2 に注意します。 すると、a(n) は、定義より、 a(n) = 10^(2^(n+1) - 2) * a(n,2^(n+1) - 2) + ... + 10^(2^n + 1) * a(n,2^n + 1) + 10^(2^n) * a(n,2^n) + 10^(2^n - 1) * a(n,2^n - 1) + 10^(2^n - 2) * a(n,2^n - 2) + ... + 10^1 * a(n,1) + 10^0 * a(n,0) 一方で漸化式より、 a(n) = 10^(2^(n+1) - 2) * a(n-1,2^n - 2) + ... + 10^(2^n + 1) * a(n,1) + 10^(2^n) * a(n-1,0) - 10^(2^n - 2) * a(n-1,2^n - 2) - ... - 10^1 * a(n-1,1) - 10^0 * a(n-1,0) = 10^(2^(n+1) - 2) * a(n-1,2^n - 2) + ... + 10^(2^n + 1) * a(n,1) + 10^(2^n) * (a(n-1,0) - 1) + 10^(2^n) - 10^(2^n - 2) * a(n-1,2^n - 2) - ... - 10^1 * a(n-1,1) - 10^0 * a(n-1,0) = 10^(2^(n+1) - 2) * a(n-1,2^n - 2) + ... + 10^(2^n + 1) * a(n,1) + 10^(2^n) * (a(n-1,0) - 1) + 10^(2^n - 1) * 9 + 10^(2^n - 1) - 10^(2^n - 2) * a(n-1,2^n - 2) - ... - 10^1 * a(n-1,1) - 10^0 * a(n-1,0) = 10^(2^(n+1) - 2) * a(n-1,2^n - 2) + ... + 10^(2^n + 1) * a(n,1) + 10^(2^n) * (a(n-1,0) - 1) + 10^(2^n - 1) * 9 + 10^(2^n - 2) * (9 - a(n-1,2^n - 2)) + 10^(2^n - 2) - 10^(2^n - 3) * a(n-1,2^n - 3) - ... - 10^1 * a(n-1,1) - 10^0 * a(n-1,0) = 10^(2^(n+1) - 2) * a(n-1,2^n - 2) + ... + 10^(2^n + 1) * a(n,1) + 10^(2^n) * (a(n-1,0) - 1) + 10^(2^n - 1) * 9 + 10^(2^n - 2) * (9 - a(n-1,2^n - 2)) + 10^(2^n - 3) * (9 - a(n-1,2^n - 3)) + ... + 10^1 * (9 - a(n-1,1)) + 10^0 * (10 - a(n-1,0)) ここで、a(n-1,0) が 0 ではないことが効いています。 そこで、 a(n,2^(n+1) - 2) = a(n-1,2^n - 2) a(n,2^(n+1) - 3) = a(n-1,2^n - 3) ... a(n,2^n + 1) = a(n-1,1) a(n.2^n) = a(n-1.0) - 1 a(n,2^n - 1) = 9 a(n,2^n - 2) = 9 - a(n-1,2^n - 2) a(n,2^n - 3) = 9 - a(n-1,2^n - 3) ... a(n.1) = 9 - a(n-1,1) a(n,0) = 10 - a(n-1,0) となるので、各桁の和を s(n) とすると、 s(n) = a(n,2^(n+1) - 2) + a(n,2^(n+1) - 3) + ... + a(n.2^n + 1) + a(n,2^n) + a(n,2^n - 1) + a(n,2^n - 2) + a(n,2^n - 3) + ... + a(n,1) + a(n,0) = a(n-1,2^n - 2) + a(n-1,2^n - 3) + ... + a(n-1,1) + (a(n-1.0) - 1) + 9 + (9 - a(n-1,2^n - 2)) + (9 - a(n-1,2^n - 3)) + ... + (9 - a(n-1,1)) + (10 - a(n-1,0)) = 9 + 9 * (2^n - 1) = 9 * 2^n となります。 |
ネコの住む家
7月28日(金) 23:48:08
MAIL:uchi@sco.bekkoame.ne.jp 27972 |
スモークマン |
#27971
巧い考え方ですね! 同じ考えで、-1-1-1 などが続いた場合(あるかどうかは別にして)は、その分どこかに、其れに対応するだけの+1 があるわけですが、どう考えたらいいのでしょうか? #27972 はわたしには残念ながらついていけません〜(^^; |
金光
7月29日(土) 11:08:16
27973 |
uchinyan |
#27973
えと、 >同じ考えで、-1-1-1 などが続いた場合(あるかどうかは別にして)は、 少なくとも、今の場合は、これはありません。 厳密には数学的帰納法で証明するのでしょうが、式の展開の仕方から明らかでしょう。 >その分どこかに、其れに対応するだけの+1 があるわけですが、どう考えたらいいのでしょうか? もしそうなったら、対応する +1 があるかどうかを別途探さなければならないので、 このロジックは、少なくとも今のままでは、うまくいかないと思います。 (10 - 1) * (10^2 - 1) * (10^4 - 1) * ... * (10^(2^n) - 1) という式の特殊性がポイントですね。 >#27972 はわたしには残念ながらついていけません〜(^^; 例を考えてみれば、少なくとも、納得はできると思います。例えば、 9 * 99 * 9999 * 99999999 = 8909109 * (100000000 - 1) 0890910900000000 -000000008909109 ---------------- 0890910891090891 ですが、桁の下の方からの各桁の計算をたどってみると、 1桁目:10 - 9 = 1 2桁目:1桁目の計算で 1 を取られているので 9 - 0 = 9 3桁目:2桁目の計算で 1 を取られているので 9 - 1 = 8 4桁目:3桁目の計算で 1 を取られているので 9 - 9 = 0 5桁目:4桁目の計算で 1 を取られているので 9 - 0 = 9 6桁目:5桁目の計算で 1 を取られているので 9 - 9 = 0 7桁目:6桁目の計算で 1 を取られているので 9 - 8 = 1 8桁目:7桁目の計算で 1 を取られているので 9 - 0 = 9 9桁目:8桁目の計算で 1 を取られているので 8 - 0 = 8 = 9 - 1 10桁目:0 - 0 = 0 11桁目:1 - 0 = 1 12桁目:9 - 0 = 9 13桁目:0 - 0 = 0 14桁目:9 - 0 = 9 15桁目:8 - 0 = 8 これを15桁目を最初にして足し合わせると、 8 + 9 + 0 + 9 + 1 + 0 + (9 - 1) + (9 - 0) + (9 - 8) + (9 - 9) + (9 - 0) + (9 - 9) + (9 - 1) + (9 - 0) + (10 - 9) = (9 - 0) + (8 + (9 - 8)) + (9 + (9 - 9)) + (0 + (9 - 0)) + (9 + (9 - 9)) + (1 + (9 - 1)) + (0 + (9 - 0)) + ((9 - 1) + (10 - 9)) = 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 = 9 * 8 = 9 * 2^3 ということです。 これと同じことを、一般の n でやっています。 もっと直感的には、インチキ表記法を使うと、 9 * 99 * 9999 * 99999999 = 8909109 * (100000000 - 1) = 890910900000000 - 8909109 = 890910(9-1)90000000 + 10000000 - 8909109 = 890910(9-1)90000000 + 9999999 + 1 - 8909109 = 890910(9-1)90000000 + (9-8)(9-9)(9-0)(9-9)(9-1)(9-0)(9-9) + 1 = 890910(9-1)9(9-8)(9-9)(9-0)(9-9)(9-1)(9-0)(9-9) + 1 = 890910(9-1)9(9-8)(9-9)(9-0)(9-9)(9-1)(9-0)(10-9) -> 8 + 9 + 0 + 9 + 1 + 0 + (9-1) + 9 + (9-8) + (9-9) + (9-0) + (9-9) + (9-1) + (9-0) + (10-9) = 9 * 8 といってもいいですね。 |
ネコの住む家
7月29日(土) 13:25:15
MAIL:uchi@sco.bekkoame.ne.jp 27974 |
KEI |
難しかった!! |
7月29日(土) 13:47:16
MAIL:mochida@pop16.odn.ne.jp 27975 |
スモークマン |
#27974
>>同じ考えで、-1-1-1 などが続いた場合(あるかどうかは別にして)は、 少なくとも、今の場合は、これはありません。 厳密には数学的帰納法で証明するのでしょうが、式の展開の仕方から明らかでしょう。 そうか、2進法だから3個目は、偶数か奇数に切り替わりますね!(^^; 10進法ではこうはいかないから難しいんですよね? 後半の具体的な(uchinyanさんのおっしゃるところのインチキ?)表記法がわたしには分かりやすかったです。OrZ〜 |
金光
7月29日(土) 16:50:59
27976 |
??? |
桁数の多い計算はやはりubasicでしょう。
10 'asave "sc511.ub" 20 Seki=1 30 for J=1 to 20 40 A=10^J-1 50 Seki*=A 60 next J 65 Str_seki=str(Seki) 70 Kotae=0 80 for J=1 to len(Str_seki) 90 Kotae+=val(mid(Str_seki,J,1)) 100 next J 110 print Kotae 120 end |
7月31日(月) 10:55:14
27977 |
あんかけソース |
次回の問題教えて! |
8月1日(火) 13:11:39
27978 |
ウルどらまん8 |
簡単にして |
8月1日(火) 13:19:24
27979 |
スモークマン |
算数サイトでよく遊びにいくとこです。
どちらも図形問ですが、、、結構骨が折れます。(ポキポキ(^^) お好きな方はチャレンジを〜ば! 寺子屋(仮) - livedoor Blog(ブログ) http://blog.livedoor.jp/mathematics_cocoa/ ちなみに今回の30問はわたしにはさっぱり・・・(^^;; 今週の問題 http://math.katuyou.net/ |
金光
8月1日(火) 15:41:03
27980 |
hidy |
>スモークマンさんへ
宣伝ありがとうございます。 ちょっとびっくりしました。 自分のサイトが宣伝されてる!!! どうぞよろしく。 今週の問題 http://math.katuyou.net/ |
福岡
8月1日(火) 22:25:07
HomePage:hidy先生の算数教室 27983 |
uchinyan |
hidyさん、遊びに行きました ^o^ |
ネコの住む家
8月1日(火) 22:42:52
MAIL:uchi@sco.bekkoame.ne.jp 27984 |
和菓子にソースをかけてマヨネーズもかける人 |
賄賂を贈るから答え教えて |
大阪府
8月2日(水) 13:07:13
27985 |
11歳になっても教室の真ん中でアハーハー笑うトム |
むずいむずい |
大阪府
8月2日(水) 13:14:05
27986 |
選挙で立候補してソースをなめる人 |
選挙で勝ったら答え教えて |
大阪府
8月2日(水) 13:16:58
27987 |