13/03/11 16:44:10.91
そのうちlong int超えるケタになって
まーた動かないとか言いだすぞ
76:デフォルトの名無しさん
13/03/11 17:28:35.24
桁数調べて*10再帰
77:デフォルトの名無しさん
13/03/11 19:21:58.21
>>75
連結するからすぐにそうなるだろな
入力の整数の最大値はint指定で入力整数の個数から、桁数を計算するぐらいしないと駄目かも
78:デフォルトの名無しさん
13/03/11 19:34:57.67
スイーツ(笑)
{
while(ナタデココ)
main();
}
}
79:デフォルトの名無しさん
13/03/11 21:38:24.49
doubleの使えなさは以上
精度糞スギ
80:デフォルトの名無しさん
13/03/11 21:43:06.40
まじプロフェッショナルは多売長整数使うからヨロシク
81:デフォルトの名無しさん
13/03/11 21:44:34.10
doubleが使えないならBigDecimalを使えばいいじゃない
82:デフォルトの名無しさん
13/03/11 21:47:30.51
15桁以上の精度が必要ってどんな領域よ。
本来、多倍長整数使うべきところでで浮動小数点使ってるだけじゃないのか?
83:デフォルトの名無しさん
13/03/11 21:47:59.21
(1+√(5))^n = a[n]+b[n]√(5) としたときの整数a[n],b[n]の一般項は
a[n] = (1/2)((1+√(5))^n+(1-√(5))^n)
b[n] = (1/(2√(5)))((1+√(5))^n-(1-√(5))^n)
この値を整数演算だけでO(log n)で算出する方法があれば教えて下さい。
84:デフォルトの名無しさん
13/03/11 21:49:55.60
>>82
物理
85:デフォルトの名無しさん
13/03/11 22:00:43.79
>>84
でも、多倍長実数は使わずに妥協するんでしょ。結局必要ないじゃん。
86:デフォルトの名無しさん
13/03/11 22:12:33.58
GMP使えば計算できるんじゃないかな?
ただ難解な物理をやりたいならマセマティカ買った方がいいんでない?
87:デフォルトの名無しさん
13/03/11 22:29:48.91
>>83
a(1)=1 b(1)=1
a(2)=6 b(2)=2
a(3)=56 b(3)=24
a(4)=6016 b(4)=2688
a(5)=72318976 b(5)=32342016
符号付32bit整数だと n=6 でオーバフロー
こんだけでいいならテーブルで持てばいいけど
多倍長演算するなら桁数が n^2 オーダーで増えるから
O(log n) ってのは無理じゃね?
88:デフォルトの名無しさん
13/03/11 22:30:37.68
n^2 オーダーじゃなくて n*2 オーダーだった
89:デフォルトの名無しさん
13/03/11 22:39:07.73
O(n) で増える桁数をセットするためにはどうしても O(n) オーダーの時間がかかると思う
どう転んでも無理ぽ
90:デフォルトの名無しさん
13/03/11 22:39:27.26
>>86
いや、出来る出来ないじゃなくて性能的な問題。
規模と精度で折り合いつけると倍精度で妥協する事になるでしょ。
91:デフォルトの名無しさん
13/03/11 22:41:50.61
桁数のオーダー O(2^n) じゃね?
92:デフォルトの名無しさん
13/03/11 23:37:58.09
>>73
むしろ固定じゃないものを連結するってどういう状況なんだ
93:デフォルトの名無しさん
13/03/12 00:00:53.04
めんどくさい奴らだな
typedef char d[10000] で1万桁だ
94:デフォルトの名無しさん
13/03/12 00:18:19.80
で?
95:デフォルトの名無しさん
13/03/12 01:15:16.44
InitCommonControlsEx イニットコモンコントロールセックス