[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 06/21 15:59 / Filesize : 28 KB / Number-of Response : 114
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part4



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
なるほど、そうですね。

>>93ideone.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
なるほどね〜。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<28KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef