- 1 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 10:14:53.01 ID:GvJv3b6q]
- プログラミングのお題スレです。
前スレ プログラミングのお題スレ Part3 peace.2ch.net/test/read.cgi/tech/1390525149/ プログラミングのお題スレ toro.2ch.net/test/read.cgi/tech/1357191974/ 出されたお題をコーディングして罵られるスレ toro.2ch.net/test/read.cgi/tech/1354393458/ 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 codepad.org/ ideone.com/ 宿題は宿題スレがあるのでそちらへ。
- 2 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 10:17:20.80 ID:Q8FRmQS5]
- >>1
乙。
- 3 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 10:52:12.91 ID:Q8FRmQS5]
- ニュースの時間です。
最近、問題の出題者が是非を問わず失踪する事件が相次いでおり続報が待たれます。 それではおやすみなさい。
- 4 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 14:04:49.30 ID:kccJ4S5h]
- 破問失踪
- 5 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:31:39.26 ID:71nCtwZM]
- 前スレの問題
abc c abd ? abe b ae? a ??? これはある規則に沿って表示されている ?の部分の文字を埋めよ
- 6 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:34:44.97 ID:71nCtwZM]
- 回答
abc ←スタート c ← 直前の文字列からcを引く abd ←お尻にcの次の文字が追加する d ←dを引く abe ←dの次の文字のeをお尻に追加する b ←bを引く aec ←bが引かれてeが繰り上がり、bの次の文字cをお尻に追加する a ecb
- 7 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:46:01.59 ID:71nCtwZM]
- アルファベットの小文字から成り立つ、文字列S(length=3)と文字Cがある
Sの左辺の文字をS1,中央の文字をS2,右辺の文字をS3とする 例)S=xyz, S1=x, S2=y, S3=z SからCを引くと、Sに含まれるCを削除し、Sの語尾にCの次の文字(アルファベット順)を加える。 例)S=abc, C=cなら、S-C="abd"となる また、SにCが存在しない場合は何も引かれない・足されない。 'z'の次の文字は'a'とする。 10回目の文字の足し算でS1=S2=S3となるSとCの組み合わせを全て求めよ
- 8 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:47:22.93 ID:71nCtwZM]
- あ、まって書きなおす
- 9 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:48:11.71 ID:Q8FRmQS5]
- >>5-6
俺解けなかったけど、あんたはいい出題者だ。またなんか考えてもってきて〜。 文句言うなら。パターン認識するために、お膳立てをもうちょっとしてほしかったかな。 さて、睡眠継続〜。
- 10 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:51:03.50 ID:71nCtwZM]
- アルファベットの小文字から成り立つ、文字列S(length=3)と文字Cがある
Sの左辺の文字をS1,中央の文字をS2,右辺の文字をS3とする 例)S=xyz, S1=x, S2=y, S3=z SからCを引くと、Sに含まれるCを削除し、Sの語尾にCの次の文字(アルファベット順)を加える。 例)S=abc, C=cなら、S-C="abd"となる また、SにCが存在しない場合は何も引かれない・足されない。 'z'の次の文字は'a'とする。 ループの初めはC=S3とする。SにCを足した後はC=S3とする。 9回目の文字の足し算でS1=S2=S3となるSとCの組み合わせを1つ求めよ
- 11 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 15:53:53.60 ID:Q8FRmQS5]
- >>10
足し算の法則性は自分で考えろってこと?
- 12 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 17:03:55.52 ID:CyA6OO09]
- >>10
S=aabは考えなくていいのか
- 13 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 17:44:01.09 ID:24IwXXBF]
- >>10の問題の元ネタを忘れたから取り消し
- 14 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 17:47:54.41 ID:24IwXXBF]
- N(0<N<10000)は2で割り切れる整数である
1からNまでの整数を右回りの渦巻きで出力せよ 標準入力から以下の形式で与えられる N (例) [input] 9 [result] 1 2 3 8 9 4 7 6 5
- 15 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 18:01:10.51 ID:FrjLIVoM]
- 訂正
N(0<N<10000)は2で"割り切れない"整数である 1からNまでの整数を右回りの渦巻きで出力せよ 標準入力から以下の形式で与えられる N (例) [input] 9 [result] 1 2 3 8 9 4 7 6 5
- 16 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 19:15:03.54 ID:ZlYpURCX]
- >>15
9以外の場合の出力は?
- 17 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 20:06:38.85 ID:MtxIaOIX]
- Nが整数の二乗じゃない場合が謎だね
- 18 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 21:31:09.60 ID:Q8FRmQS5]
- k==Nはとてもじゃないが計算できないので打ち切り。うちのアトムじゃ不適当だな。
TimeUsing:357Min@31905732CountCalced 見つかったかどうかはわからん。かーたーつーむーりー。
- 19 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 23:48:18.14 ID:xctJNyBf]
- >>15
ttp://ideone.com/pzxO7g
- 20 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 00:05:44.14 ID:MgRt7LMK]
- Helloを一番短いコードで出力しろ
- 21 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 00:20:09.07 ID:MgRt7LMK]
- お題を出してコードを投稿する海外のサイトってない?
コードゴルフに特化してないのがいいんだけどない?
- 22 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 01:14:50.13 ID:SwBFDyk2]
- 前スレ >>973
筆算 ______ 237)18472... をやりながらコードを見るんだ
- 23 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 02:32:41.23 ID:owGByNif]
- >>22
あのでかい数筆算するんか。精度的に自信ない。 筆算なんか十何年やってないからねぇ。Orz >>15 寝不足とサイオン足りないので今日はパスするかも。 NをSqrtしてX^2あまりYでいいよね。適当だけど。 Sqrt重たいのわかるけどこの問題ならアリかなと思う。
- 24 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 04:50:00.40 ID:owGByNif]
- >>15
ttp://ideone.com/X1WsTo ほぼC。綺麗さ重視であまり出しながらも形は作る感じ。 >>19とは対称ですねぃ。 サイオン回復したので一応作ってみた。 ・・・。標準入力・・・だ・・・と・・・。 ttp://ideone.com/XCZXGb 対応した。さて、飯食うか。
- 25 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 08:43:09.91 ID:wNU/NJPK]
- >>1 おっ
>>5 たとえばabcの次にcが来る理由を考えてた。 問題文をよく読め。
- 26 名前:デフォルトの名無しさん mailto:sage [2014/06/15(日) 21:35:27.50 ID:lBQJsMnk]
- 地球の周りを3つの衛星が回っています
衛星Aは1時間23分かけて地球一周できます 衛星Bは3時間9分かけて地球一周できます 衛星Cは5時間45かけて地球一周できます 衛星は同じ位置にくると自動的によけてくれるので衝突して故障することはありません。速度も一定に移動します。 衛星Aは60度の位置、衛星Bは192度の位置、衛星Cは265の位置からスタートする。 3つの衛星が同じ位置に重なりあうのは何時間後か求めて出力せよ。また、重なりあうまで何周したかそれぞれ出力せよ。
- 27 名前:デフォルトの名無しさん mailto:sage [2014/06/15(日) 22:07:52.18 ID:wjE+lkrG]
- >>22
多バイト長÷短バイト長はわりあいと楽ですね peace.2ch.net/test/read.cgi/tech/1313183984/610 ideone.com/as7Jow
- 28 名前:デフォルトの名無しさん mailto:sage [2014/06/15(日) 22:14:35.24 ID:wjE+lkrG]
- >>26
仮に円軌道かつ赤道面上を周回するとしても、それでも、人工衛星の周回軌道は高度と一対一に結びついている なんだか非常に無理のある設定だ、というか「衛星は同じ位置にくると自動的によけてくれるので衝突して故障することはありません」はいらない文 誰の出題だ?
- 29 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 01:45:11.10 ID:MERkKOKe]
- お題: 麻雀における向聴数を数え上げる
実装例: tenhou.net/2/ 麻雀ルール等: mahjong.nomaki.jp/ mahjong.ara3.net/lecture/shanten.htm dora12.net/modules/dic/syantensu.html
- 30 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 05:10:53.21 ID:eNuyf1Ao]
- >>28
全ての衛星は赤道上を回る高度の違う衛星です、とかでいいだろというか、 角度合わせないと重ならないよな…出題者は1次元で考えてんだろうけど。
- 31 名前: ◆0qAv26otVI mailto:sage [2014/06/16(月) 11:29:18.56 ID:2sGj4NhO]
- t分後の衛星の位置
衛星A:(60/360+t/83) mod 1.0 衛星B:(192/360+t/189) mod 1.0 衛星C:(265/360+t/345) mod 1.0 衛星Aと衛星Bが重なる周期と、衛星Aと衛星Cが重なる周期の最小公倍数を 求める方向でいいかな? >>28
- 32 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 12:47:07.47 ID:9OUnGSWw]
- 宝石店のアルバイト(a1...a5)と客(k1...k5)が各5人います。
宝石店には輪になったカウンターがあり、そこに客は座っています。 宝石店には10個の色が異なる宝石(h1...h10)があります。 1人の客に一度に見せられる宝石は2つまでで、5人同時に異なる宝石を見せます。 一度見た宝石を2度も見せることはしません。 ただし、客に見せた2つの宝石のうちの1個はとなりの客に見せます。 例)k3の隣はk2とk4, k5の隣はk4とk1 全ての客に全ての宝石を見せ終わるまで何回かかるか調査しなさい。
- 33 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 18:21:58.44 ID:lnWmJsSA]
- >>32
組み合わせの問題苦手だけど、これだったら10回あれば回せないか?9回かもな。 普通に一周させて4回目で右と左をスワップしてもう一周と思ったけど、 これ、一回一個を2周させるより早い手順ある?2個必ず見せるとは書いてない。 うーん。
- 34 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 18:25:53.76 ID:lnWmJsSA]
- っていうか、一回に両方を右回りと左回り一周すれば、全部見たことになるんじゃないか?
一個はなので二個でもおk?
- 35 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 18:39:59.16 ID:lnWmJsSA]
- >>32
ttp://ideone.com/lWeDh6 ほぼC。めちゃくちゃ適当に書いたけど、こういうことだよね?
- 36 名前: ◆0qAv26otVI mailto:sage [2014/06/17(火) 14:36:05.05 ID:yl/QxhYO]
- >>28 tが整数という制限(ガクッ)
t=499 (minute) EPSILON=1.000000e-002 A=0.178715 B=0.173545 C=0.182488 (360 degree=1.0) AB=1.861159 BC=-3.219462 CA=1.358303 (degree) A=7 B=3 C=2 (times) - - - - - - - - - - - - - - - - - - - - - - - - - - - t=538444 (minute) EPSILON=1.000000e-003 A=0.443775 B=0.443386 C=0.443357 (360 degree=1.0) AB=0.139989 BC=0.010352 CA=-0.150341 (degree) A=6488 B=2849 C=1561 (times)
- 37 名前:デフォルトの名無しさん mailto:sage [2014/06/17(火) 17:27:01.98 ID:DkLyoDX2]
- 片山MZすごいじゃん
今日の窓の杜に日本語で計算させるソフトが載ってる
- 38 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 23:43:02.82 ID:xlveYer0]
- 標準入力から与えられたフォーマットを元に年齢を求めて出力せよ
標準入力から以下の形式で与えられます YYYY/MM/dd 年齢は誕生日の前日に歳を重ねることに注意せよ。4/1生まれの場合は3/31に歳が増えることになる。
- 39 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 23:44:54.58 ID:TxeGU8JJ]
- C/C++の宿題片付けます 167代目
peace.2ch.net/test/read.cgi/tech/1392388003/
- 40 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 23:54:31.17 ID:DFxPJl2r]
- >>38
未来の日付が与えられた時の仕様は?
- 41 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 23:56:27.56 ID:xlveYer0]
- -1を返して
- 42 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 00:09:32.23 ID:+j7TYHbL]
- 4/1の午前0時生まれは、次の年の4/1の午前0時にならないと満一年にならないけど
- 43 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 00:29:42.44 ID:lwMZS3uy]
- >>38
ruby require 'date' y, m, d = gets.split('/').map{|e|e.to_i} day2 = Date.today + 1 age = day2.year - y age -= 1 if Date::new(day2.year, m, d) > day2 p age
- 44 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 00:33:56.29 ID:td7zSXVn]
- 3月31日が終わった時点で年が増える。時刻は関係ない。
- 45 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 02:04:17.89 ID:D7BmUZOO]
- >>42
日本の法律では前日に歳が増える
- 46 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 02:05:16.48 ID:D7BmUZOO]
- 4/1生まれの人は4/2の人と同じ学年にはならない
- 47 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 06:47:37.65 ID:gzfpEmrh]
- >>26 Python
ideone.com/8DPtbc 答えは自信ない...
- 48 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 15:08:54.60 ID:UADYZqLi]
- 1から10000000000000000000000000000000000000000000000000000000000000000000までの和を求めよ
言語に実装された和を求める為の関数やライブラリの使用は禁止とする
- 49 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 15:10:04.69 ID:UADYZqLi]
- 書く人はいないと思うけどループで1から順に足していくのは10点
- 50 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 16:48:56.36 ID:EHpEAUer]
- 問題の意図がよくわからない
- 51 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 16:57:22.80 ID:OLf00bFf]
- 先頭と末尾を足して、個数掛けて、2で割る。
- 52 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 16:59:02.04 ID:OLf00bFf]
- 高2レベルの数学の基本。
- 53 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:05:35.80 ID:EHpEAUer]
- anが偶数の時
(a1 + an ) * (an / 2) 以外の答えを求めてるの? 意図が分からん
- 54 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:07:50.58 ID:a/a0+n9Y]
- バカには無理
- 55 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:08:16.01 ID:OLf00bFf]
- >>53
奇数でも問題なく通用するよ
- 56 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:11:32.58 ID:EHpEAUer]
- >>51
これは二つの点で良くない ひとつめ 結果を得るための計算としては有効であるが そのように計算可能となるアルゴリズムが直接的に表現されていない ふたつめ 不要な大きな数の計算をする事になる 数学とプログラミングはイコールではないし 計算とアルゴリズムもイコールではない 高校数学!話にならん話
- 57 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:12:29.20 ID:EHpEAUer]
- >>55
計算としてなら通用する
- 58 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:16:39.01 ID:BcmtgtjI]
- 昔、1からnまでの和を簡単に計算する方法として読んだな、小学生向けの本だったぞ
- 59 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:21:28.32 ID:OLf00bFf]
- んーアルゴリズムとしてなら、1と10の計算として扱って、残りの0の個数で調整する。
- 60 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:21:49.32 ID:up+oEz5h]
- わからない人はまず1から10までの和を求めるところから練習すればいいよ
- 61 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:23:23.05 ID:up+oEz5h]
- 桁を大きくしたのはループを使わないでほしい意味を込めた優しさのつもりだったんだけどね
- 62 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 17:25:22.03 ID:OLf00bFf]
- An/2 + An**2/2 てことで
- 63 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 18:01:30.86 ID:x9PjgZWi]
- >>56
意味不明
- 64 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 18:44:20.51 ID:nGqFEu9y]
- >>56
n(n+1)/2で求めるのも立派なアルゴリズムなんだけど?
- 65 名前:デフォルトの名無しさん [2014/06/19(木) 18:56:35.57 ID:fgOwoOKT]
- いかに速く計算できるかしかこだわる点はないだろ。
多桁だから少しは工夫できる。
- 66 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 19:25:38.20 ID:Brdb8B0I]
- 条件は
>>48 > 言語に実装された和を求める為の関数やライブラリの使用は禁止とする なので、 ・n(n+1)/2 はok ・多倍長整数計算を実装せよ って意図では
- 67 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 20:00:43.15 ID:Lgo8NLIN]
- 多倍長実装するの大変なのでパス。@逆襲してた人。
っていうか、多倍長理解してないんだよな。だから無理。
- 68 名前:デフォルトの名無しさん [2014/06/19(木) 20:03:04.89 ID:fgOwoOKT]
- 多桁は多項式計算の実装すればいいんだ。
- 69 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 20:13:33.99 ID:Lgo8NLIN]
- >>68
そうだけど、Ideonで証明できないからなぁ。 すまんけど、ちょっとつまらん。
- 70 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 22:54:19.34 ID:gzfpEmrh]
- >>48 Python
#2進数 (b+1)*b/2 b = "10000000000000000000000000000000000000000000000000000000000000000000" #print b[:-1] + "1" + b[1:-1] #print b[:-1] + b[:-1] print b[:-1] * 2
- 71 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:11:17.83 ID:4S5DOub9]
- [:-1] ←顔っぽい
- 72 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:23:18.13 ID:qa8nBQ3x]
- >>48
入力された値の総和を求めるプログラムじゃなくて固定値なんだから・・・ 1から10なら55、1から100なら5050,1から1000なら500500なわけだ つまり、ゼロの数をxとして 5を出力、改行せずにゼロをx-1回出力、5を出力、改行せずにゼロをx-1回出力、改行 ってな感じでやったら石投げられるかなwww ttp://codepad.org/G7rWZhu4
- 73 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:39:40.48 ID:2ortrccs]
- >>72
その結果あってるのか? 49999999999999999136838789195927991586198914377904661392885735751680000000000000000000000000000000000000000000000000000000000000000000
- 74 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:45:09.27 ID:7NaVp+xv]
- >>48
> 言語に実装された和を求める為の関数やライブラリの使用は禁止とする 足し算から定義するか・・・そのためにまず自然数から定義してっと・・・
- 75 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 23:54:33.92 ID:qa8nBQ3x]
- >>73
その怪しい解をおかしいと思わないあなたが心配です。。。
- 76 名前:デフォルトの名無しさん [2014/06/20(金) 00:02:20.04 ID:MNvGdz/i]
- 例えば
(10000+1)*10000/2 =(10000+1)*5000 =10000*5000 + 5000 だからな。
- 77 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:04:13.95 ID:rmN2sG+2]
- >>48 bc
変な改行になってしまうから勝手に桁を減らした ideone.com/JI1T1W
- 78 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:13:10.06 ID:rNGAsf/H]
- >>48は自然数の和の公式でいけるんじゃないの?
((10000000000000000000000000000000000000000000000000000000000000000000)+(10000000000000000000000000000000000000000000000000000000000000000001))/2
- 79 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:13:36.94 ID:rNGAsf/H]
- 間違えた
((10000000000000000000000000000000000000000000000000000000000000000000)*(10000000000000000000000000000000000000000000000000000000000000000001))/2
- 80 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:14:34.33 ID:rNGAsf/H]
- 1〜nまでの和は n*(n+1)/2
- 81 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:35:34.20 ID:eyF0lSTD]
- お題:0から9のうち8種類の数字を使って4桁の10進数を2個つくり、その積をとると
4桁の2個の数に使用した8種類の数字はひとつも現れなかった。 この4桁の2個の10進数を求める。
- 82 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:40:46.54 ID:HuhJSpav]
- 既出
- 83 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 00:41:28.00 ID:HuhJSpav]
- >>82
>>78-80
- 84 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 01:28:45.54 ID:G5yuErw/]
- >>81
結構重いなぁ。
- 85 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 01:39:12.16 ID:G5yuErw/]
- >>81
サンプルプリーズ。
- 86 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 01:51:48.40 ID:fqUiErnm]
- >>81
確認だけど積は2種類の数字からなるってこと?
- 87 名前:デフォルトの名無しさん [2014/06/20(金) 02:17:34.18 ID:MNvGdz/i]
- そういうことになるな。
4つ+4つを選んで、掛け算したあとの下位1桁目のあり得るパターンから探してくとかか?
- 88 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 02:33:39.39 ID:ZcO8mb2F]
- javascriptでfizz buzzを書け
禁止ワード: false true if % !
- 89 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 02:46:06.40 ID:G5yuErw/]
- >>81
ideone.com/6IAX6X ほぼC。ideonはえー。うちで計算したら2時間くらいかかったんだが。 そこはかとなくバグってるがキニシナイ。 6712*5049=33888888 5132*867=4449444 143*5796=828828 1924*357=686868 1274*539=686686 5796*143=828828 357*1924=686868 457*2869=1311133 867*5132=4449444 539*1274=686686 5049*6712=33888888 2869*457=1311133
- 90 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 03:00:01.61 ID:C6Xti4O4]
- 下2桁同士の掛け算で積の下2桁も決まるから
そこで異なる数字が出たら上2桁を縛れる
- 91 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 03:06:18.32 ID:C6Xti4O4]
- ちなみに下一桁は
奇奇・偶偶がそれぞれ3通り 奇偶が4*4の16通り 計22通りだと思う >>89 つまり最終的に1組しかないのね
- 92 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 03:13:32.41 ID:G5yuErw/]
- >>91
俺、なんか間違ってる? 余計な計算してるだけだったら、解説頼む。 4桁*4桁はそういえば一組か。 0もちゃんと扱えないとなーと思って3ケタも混ぜたんだが。
- 93 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 03:14:52.47 ID:09C2glzp]
- 力技C
ideone.com/kFMnzH celeronM1.86GHzで0.2sくらいで終わった
- 94 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 03:29:53.62 ID:G5yuErw/]
- >>93
超速いな。ふむふむ・・・。Orz
- 95 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 05:25:41.18 ID:09C2glzp]
- >>93
60行目 > for (a[4] = 1; a[4] < 10; a[4]++) { if (check(a, 4)) continue; ↓ > for (a[4] = 5; a[4] < 10; a[4]++) { if (check(a, 4)) continue; と変更したら、1.5倍くらい速くなった
- 96 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 05:27:48.00 ID:09C2glzp]
- ああ、1789 x 2345 が答えの可能性もあるので>>95は間違い
- 97 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 06:59:37.63 ID:Xn/NpwsD]
- >>89
うちのi7では0.76s exeやvectorがL3キャッシュに乗ると滅茶苦茶速くなるんじゃね >>93 こちらは31ms chrono便利だな
- 98 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 08:38:36.31 ID:+x3ndtqK]
- >>95
for (a[4] = a[0]+1; a[4] < 10; a[4]++) { if (check(a, 4)) continue; で良いと思う。 aa<bbのチェックが不要になる。
- 99 名前:デフォルトの名無しさん [2014/06/20(金) 09:41:40.85 ID:2EQ+l0AP]
- ◎2chスレッド勢いランキングサイトリスト◎
★+ニュース板 ・ 2NN (推奨サイト) ・ 2chTimes ★+ニュース板新着 ・ 2NN新着 ・ Headline BBY ・ unker Headline ★+ニュース板その他 ・ Desktop2ch ・ 記者別一覧 ★全板 ・ 全板縦断勢いランキング (推奨サイト) ・ スレッドランキング総合ランキング ・ ログ速 ★全板実況込み ・ 2勢 (推奨サイト) ・ READ2CH ・ i-ikioi ※ 要タイトル検索 ※ 2chブラウザ併用推奨
- 100 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 12:42:12.58 ID:C6Xti4O4]
- >>89 ってもしかして最適化一切してないんじゃね?
Debugのままで実行してたりとか
- 101 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 18:20:40.40 ID:QPzcx6bM]
- ?.#########.########
......#####.....#### ..##.######.######## #.##.###.....##...## #....###.##......### #.##.###.##.##?##### ####.....#.......### ##########..######## 左上の?の位置から右下の?までの最短距離と再長距離を求めよ
- 102 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 18:32:03.52 ID:QPzcx6bM]
- 訂正
?.#########.######## ......#####.....#### ..##..#####.###.#### #.##.###.....##...## #....###.##.......## #.##.###.##.##?##.## #........#.........# ##########..####...# 左上の?の位置から右下の?までの最短距離と再長距離を求めよ
- 103 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 20:52:46.31 ID:mZs9ZBuX]
- >>91は途中式を書き下していないため、減点。
- 104 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 21:28:13.37 ID:kSpxa/vA]
- 最短 距離25
?1#########.######## .2345.#####.....#### ..##6.#####.###.#### #.##7###78901##...## #...8###6##.234...## #.##9###5##.##?##.## #...01234#.........# ##########..####...# 最大 距離61 ?.#########.######## 145678#####23456#### 23##09#####1###7#### #.##1###7890.##812## #5432###6##7890903## #6##.###5##6##?##4## #78901234#.54321056# ##########..####987#
- 105 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 21:37:22.86 ID:kSpxa/vA]
- codepad.org/OhyX0hKk
- 106 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 21:52:18.47 ID:09C2glzp]
- >>98
なるほど、そうですね。 >>93の ideone.com/kFMnzH に以下の 4変更 ・23行目 〜 keisan();の aa > bb を無くした ・56行目 〜 for (a[0] = 1; a[0] < 10; a[0]++) { → for (a[0] = 1; a[0] < 9; a[0]++) { ・60行目 〜 for (a[4] = 1; a[4] < 10; a[4]++) { if (check(a, 4)) continue; → for (a[4] = a[0] + 1; a[4] < 10; a[4]++) { if (check(a, 4)) continue; ・64行目 〜 switch の判定を無くした を加え、更にアルゴリズムによる速度差計測のためを考え gcc -O0 の 最適化なしで比較したら 410ms → 227ms (8割増) になりました。 ideone.com/bYzWM9
- 107 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 22:10:06.39 ID:G5yuErw/]
- >>100
VCリリースです。しかし、CPUがATOMだ!!Orz
- 108 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 01:19:30.31 ID:oxWL7iix]
- それで2時間かかるの?
うちだとlinuxで、g++コンパイラに最適化の-O3とC++11コンパイルするための -std=c++11オプションを付けただけだけど、3.6秒で計算終わる。-O0でも12.0秒。
- 109 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 02:13:08.89 ID:Qlvgm7Ik]
- え?アトムで??
いや、アトムBTだからさ、CORE2の7割しかシングル性能でないんですよ。 今の最新と比べるべくもない。環境はVSドノーマルなんだけどね。
- 110 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 02:56:30.10 ID:oxWL7iix]
- ああ、ごめん。celeronM1.86GHzなので同じくらいだと思って
- 111 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 03:52:49.10 ID:Qlvgm7Ik]
- どんなもんやろうね。
ブーストして2.4Ghzくらいまで上がるけどアーキテクチャがあれ何でね。 コンパイラの最適化もこっち向けじゃないのもあると思う。むー。
- 112 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 05:42:11.03 ID:/fMJIWig]
- >>81 J
f =: 3 : 0 a =. ~.'* '(4 5)}"1(i.!10) A.'0123456789' a =. a #~ *./"1 '0' ~: 0 6 {"1 a a =. a #~ (-:(-.":@".))"1 a ~. /:~"1 ". ' '4}"1 a ) f'' 5049 6712
- 113 名前:デフォルトの名無しさん mailto:sage [2014/06/21(土) 08:44:10.71 ID:osxplvy7]
- >>81
https://ideone.com/J2NBtX >>112 なるほどね〜。
|

|