[過去ログ] プログラミングのお題スレ Part16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
633: 2020/01/17(金)06:54 ID:bFwt3c1k(1) AAS
>>626
逆行列の計算は避けた方がいいってえらいひとがゆってた
外部リンク:www.kyoritsu-pub.co.jp
634: 2020/01/17(金)12:14 ID:onsz9c/m(1) AAS
>>629
16, 7: 0 0 1 0 0 1 0 0 1
17, 9: 0 0 0 0 0 1 1 0 1
18, 26: 1 1 0 1 1 1 0 0 0
19, 27: 1 1 0 0 1 1 0 1 0
20, 31: 1 1 0 1 1 0 0 1 0
635(1): 2020/01/17(金)18:26 ID:KcAYJrW8(1/2) AAS
>>632
C++
外部リンク:ideone.com
636: 2020/01/17(金)20:33 ID:VgNyCBhj(1) AAS
>>635
正解。
Rによる2種類の解答例
(1) 外部リンク:ideone.com
(2) 外部リンク:ideone.com
(1)は等比数列の総和の公式を利用しているので分かりやすいが、途中計算の最大値が
(20200130 * 1000000 - 1) ^ 2 ≒ 2 ^ 88.4 になるかも知れず、64ビット整数の
範囲に収まらないため、Cでは手軽に書けない。Rでは多倍長整数パッケージgmpを
使って書ける。
(2)は部分和をちまちま足していく方式で、途中計算の最大値が (1000000 - 1) ^ 2
省2
637(1): 2020/01/17(金)21:12 ID:KcAYJrW8(2/2) AAS
お題
f(n) = n^1 + n^2 + ... + n^n の時
f^20200117 (20200117) の下9桁を求めよ
※ f^n (x) = f(f(f(....f(x)))...) 【fがn個】
638: 2020/01/18(土)00:45 ID:meR2Lc88(1) AAS
>>629
Java
外部リンク:paiza.io
639: 2020/01/18(土)05:21 ID:et7QELfi(1) AAS
>>589 octave
a=primes(5000);
a(a(1:100))
640(1): 2020/01/18(土)22:25 ID:uIn7pF9I(1/3) AAS
>>637
外部リンク:ideone.com
Rでは時間が掛かりすぎるのでコンパイラ言語を使うが、C/C++だと出題者と同じで
つまらないから、Fortranで書いてみた。nが奇数の場合にしか求められないし、
合っているかどうか分からない。
641(2): 2020/01/18(土)23:02 ID:/9q/+LXn(1/3) AAS
>>640
正解
C++
外部リンク:ideone.com
312500はどうやって求めました?
642: 2020/01/18(土)23:12 ID:/9q/+LXn(2/3) AAS
>>641だと偶数でもOKです
643: 2020/01/18(土)23:31 ID:uIn7pF9I(2/3) AAS
>>641
時間は掛かるがRで下9桁の値を順々にいくつか求めて配列rに記録してから、
プロンプトで any(duplicated(r)) や which(duplicated(r)) と入力して
周期性を見つけただけ。理論的な根拠はない。
644(1): 2020/01/18(土)23:34 ID:/9q/+LXn(3/3) AAS
thx
周期が既知なら
mod(20200117, 312500) 回だけで済むのでは?
645: 2020/01/18(土)23:45 ID:uIn7pF9I(3/3) AAS
>>644
まあそうだが、それではあまりにもマジックナンバーすぎるので、周期が本当に
312500であるかチェックするコードを31行目に念のため入れた。周期性が
確認できなければ、STOP Errorと表示してプログラムを中断する。
646(1): 2020/01/19(日)00:38 ID:msO9WicL(1) AAS
【お題】
無向グラフGが入力として与えられ、Gがサイクルを持てば、
Gの中の最小サイクルの経路とそのコストを出力するプログラムをかけ
*条件
・グラフサイズ(頂点数)は10頂点程度(任意でよい)
・各辺の重みはランダムとする
・入力は隣接行列表現とする
647(1): 2020/01/19(日)08:33 ID:r8dbXOf2(1) AAS
お題: 文字列aの真ん中に文字列bを挿入する関数chopを定義しなさい
648: 2020/01/19(日)08:40 ID:dOSa/ZjO(1/2) AAS
>>647 Ruby
def chop(str); str.tap{|s| s[s.size / 2, 0] = ?b}; end
puts chop('hogefuga') # => hogebfuga
649: 2020/01/19(日)08:42 ID:dOSa/ZjO(2/2) AAS
問題誤読してた
def chop(a, b)
a.tap{|s| s[s.size / 2, 0] = b}
end
puts chop('hogehoge', 'HOGE') # => hogeHOGEhoge
650(1): 2020/01/19(日)10:33 ID:9NcxNk8h(1/2) AAS
お題 (>>346)
1〜1000 の整数の内、3の倍数または5の倍数であるものだけを選んで、その合計を求めよ。
651(2): 2020/01/19(日)10:37 ID:9NcxNk8h(2/2) AAS
3の倍数
[1000/3] = 333個
S(3) = 3+6+9+・・・・+999 = 333 * (3+999)/2 = 166833,
5の倍数
[1000/5] = 200個
S(5) = 5+10+15+・・・・+1000 = 200 * (5+1000)/2 = 100500,
3の倍数かつ5の倍数 (15の倍数)
[1000/15] = 66個
S(15) = 15+30+45+・・・・+990 = 66 * (15+990)/2 = 33165,
∴ S(3) + S(5) - S(15) = 100500 + 166833 - 33165 = 234168.
652(2): 2020/01/19(日)13:04 ID:CR4NZ4aH(1/2) AAS
15の倍数含めないんじゃないの?
外部リンク:paiza.io
上下前次1-新書関写板覧索設栞歴
あと 350 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s