吉川 マサル
う、簡単な問題だったのかなぁ...。こんなに速いとは予想外でした。
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