[過去ログ] プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
334(8): デフォルトの名無しさん [sage] 2017/07/08(土)03:20 ID:hDxZO8qP(1/3)
お題: 自然数Nの平方根を整数部含めて(1000*N)桁求めたとき、出現する0の個数を数える
たとえば、N = 4の時ルート4を4000桁(整数部1桁+小数部3999桁)求めたとき、出現する0の個数は3999個
N = 3 => ?
N = 5 => ?
N = 7 => ?
336(1): デフォルトの名無しさん [sage] 2017/07/08(土)03:59 ID:kzKE4jeR(1/2)
>>334 Ruby
require 'bigdecimal'
[3, 4, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, ("%.#{n}f"%BigDecimal(i).sqrt(n)).count(?0)]
}
N = 3 => 2956
N = 4 => 3999
N = 5 => 4956
N = 7 => 6954
339(2): デフォルトの名無しさん [sage] 2017/07/08(土)09:51 ID:3gkxwDpM(1/2)
>>334 C++
#include <iostream>
#include <string>
#include "gmpxx.h"
int main () {
int sq_me;
while( std::cin >> sq_me ){
int prec = 1000*sq_me, cnt = 0;
mpf_class sq_out = sqrt( mpf_class(sq_me, prec*4) );
mp_exp_t exp;
auto str = sq_out.get_str( exp,10,prec );
for( auto it=str.begin(); it!=str.end(); it++ ) if( *it=='0' ) ++cnt;
std::cout << "N = " << sq_me << " => " << cnt+prec-str.length() << '\n';
}
}
N = 3 => 309
N = 5 => 493
N = 7 => 738
N = 11 => 1079
N = 13 => 1305
N = 17 => 1664
N = 19 => 1875
N = 23 => 2265
N = 29 => 2911
N = 31 => 3113
N = 37 => 3795
N = 41 => 4095
N = 43 => 4312
N = 47 => 4798
N = 53 => 5340
340(1): デフォルトの名無しさん [sage] 2017/07/08(土)11:54 ID:H5pSyGdF(1) AAS
AA省
342(1): デフォルトの名無しさん [sage] 2017/07/08(土)12:48 ID:1hnJaOYb(1/2)
>>334 Perl5
http://ideone.com/fAyh2l
343: デフォルトの名無しさん [sage] 2017/07/08(土)13:10 ID:1hnJaOYb(2/2)
>>334 Perl5
http://ideone.com/cMBD8o
>>342 をもう少しすっきり書けたので差し替え。
346(1): デフォルトの名無しさん [sage] 2017/07/09(日)10:55 ID:xLkjNLhf(1)
>>344
考え直したら面倒じゃなかった
>>334 C++
http://codepad.org/k0Sq8Fqo
N=10000くらいまでなら現実的な時間で計算出来そうだ
363(1): ◆QZaw55cn4c [sage] 2017/07/14(金)07:55 ID:TDGI45F0(1/3)
>>362
私も欲しかったので作ってしまった、今 >>334 を奮闘中
386(2): デフォルトの名無しさん [sage] 2017/07/18(火)08:49 ID:YLlwVFMJ(1/2)
>>334 SageMath
https://sagecell.sagemath.org/?q=brdclf
普通に(?)多桁のisqrt()なので何の捻りも無し。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s