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

■ このスレッドは過去ログ倉庫に格納されています
2018/01/01(月) 11:15:04.40ID:2Vr1CPKy
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part9
https://mevius.5ch.net/test/read.cgi/tech/1480579110/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。
2018/02/12(月) 14:17:53.47ID:BIVFn0wY
>>304 今回のお題の場合、例でそれは否定されているので
2018/02/12(月) 14:36:26.07ID:kRV6tUUl
>>305
否定はされていない
2018/02/12(月) 14:58:10.88ID:ZRsq9il/
桁数が同じとか言ってないで延々0書き足してれば?
2018/02/13(火) 16:50:43.72ID:4GSdWauJ
AES暗号を実装せよ
2018/02/13(火) 16:52:04.32ID:4GSdWauJ
RSA暗号も実装せよ
2018/02/13(火) 20:55:23.17ID:PuFLyGjP
実装ってのはライブラリとか使わないで作れってことだよねめんどくせw
2018/02/13(火) 21:10:09.89ID:H8pA1oAY
個人的な感想はいいから w
2018/02/13(火) 21:15:13.56ID:nZk5sM7w
まんどくさ
2018/02/13(火) 21:38:30.45ID:Tnyzq9Ve
車輪の再発明は時間の無駄。
2018/02/13(火) 21:46:34.33ID:mIcq2nuO
AES暗号・RSA暗号を自らの手で実装することによって、現代に欠かせない重要なアルゴリズムのブラックボックスの中身を手に取るように理解することができるようになることは充分に有意義なことである。
2018/02/13(火) 21:48:37.53ID:tVblIMIh
勉強にはなるでそ
2018/02/13(火) 22:56:08.29ID:XNNlkFV6
AES:共通鍵暗号の代表
RSA:公開鍵暗号の代表
2018/02/15(木) 10:32:19.04ID:LdHQAvWn
2月14日にはひとつも書き込みが無いとは、まさかお前ら幸せな日々を送ってたのか
2018/02/15(木) 12:11:24.17ID:UYu8D6lR
このスレ来たばかりだから形式がよく分からないけど、ご勘弁を(予防線)
お題:あなたは1次元平面の原点におり、1秒毎に座標を±1することができます
時間t_iには座標x_iに得点p_iが出現し、一秒後には消滅します
得点が出現した時に同座標に居れば得点を得られます
得られる得点を最大化してください

入力データ (1≦N,x_i≦10^5、t_i≦N、-10^4≦p_i≦10^4)
N
t_1 x_1 p_1

t_N x_N p_N
2018/02/15(木) 12:39:19.79ID:ekhtbWhL
1秒経過後に同じ座標に留まるのはOK?
2018/02/15(木) 12:52:02.25ID:jrAu/VJO
>>319
〜できます、だしおk
あ、得点は同座標なら強制取得で
2018/02/15(木) 13:17:34.63ID:jrAu/VJO
>>318
お題主だが、自分で作ってみたもの
https://ideone.com/8xQbHx
2018/02/16(金) 19:13:57.70ID:85GwwHoN
お題:アラビア数字を10種類すべて表示せよ
10種類出揃ってさえすれば、あとは自由

例:
ruby
https://ideone.com/8heYqb

octave
https://ideone.com/tvDIpw
2018/02/16(金) 20:00:48.26ID:rKdQ+Xgx
>>322 Brainfuck
https://ideone.com/WJLzlI
2018/02/16(金) 20:28:13.65ID:VmT4Fc/5
javascript
(f=i=>i?a(--i)+i:'')(10)
2018/02/16(金) 20:29:25.53ID:VmT4Fc/5
訂正
(f=i=>i?f(--i)+i:'')(10)
2018/02/16(金) 20:53:52.03ID:OUFO7WMX
9文字以下で…だろうなjk
2018/02/16(金) 21:10:24.75ID:vLGPbP1K
言語によっちゃ無理だろ
2018/02/16(金) 21:38:02.93ID:IhCFworu
面白いと思える方法ならいいんじゃない?
ただ出来ました、だけなら意味はないし。
329デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:54:35.97ID:EWYfJ6l0
O|乙ЗДSБフθg
2018/02/17(土) 00:56:39.74ID:Bk+zE6U3
>>322
% echo '32463*38030' | bc
1234567890
2018/02/17(土) 02:19:04.81ID:YrEj1JRO
C#

Console.WriteLine(Enumerable.Range(0,10).Aggregate("",(s,n)=>s+n.ToString()))
332デフォルトの名無しさん
垢版 |
2018/02/17(土) 08:16:15.81ID:/e5GlupG
>322 R
cat(0:9)
2018/02/17(土) 09:19:44.83ID:oPlfk9YO
brainfuck

.+]
334デフォルトの名無しさん
垢版 |
2018/02/17(土) 11:56:22.76ID:EWYfJ6l0
>>322
kotlin の REPL で以下の入力をするとカンマ区切りで 0 〜 9 が出る。

(0..9).joinToString()
2018/02/18(日) 18:47:26.89ID:aBLjchan
>>318
x_i は非負整数?
2018/02/18(日) 22:02:27.62ID:srVRBqpw
>>335
全部整数だねー
2018/02/19(月) 09:54:55.43ID:pKcPTPM1
>>318 Ruby 愚直に計算
https://ideone.com/nkoK67
2018/02/20(火) 00:15:19.18ID:EY4F88I6
1 5 8 2 ? ? 7 6 ?
? ? 7 ? ? ? 8 ? ?
6 4 ? ? ? 8 ? ? ?

8 ? 6 4 ? ? 5 7 ?
? 2 ? ? ? 6 ? 1 ?
? ? ? ? ? 5 6 ? 9

4 ? ? ? 1 ? ? ? ?
? 9 ? ? ? ? 1 ? 7
7 ? 1 ? ? 2 ? ? 5

この問題はどのぐらい簡単?
2018/02/20(火) 02:28:35.56ID:06t/pi/k
問題に矛盾があるから解けない。
http://www.sudoku.name/sudoku-solver/jp
あたり参考にしとけ。
2018/02/20(火) 02:51:43.67ID:EY4F88I6
158293764
937641852
642758391
816429573
529376418
374185629
485917236
293564187
761832945
と出たが...
2018/02/20(火) 03:03:32.05ID:uweyqPTK
矛盾はないでしょ。解1つしかないしだし
難度でいえば、基本ルール(縦、横、3*3でかぶらない)だけでとけるから一番簡単な部類なんじゃない
2018/02/20(火) 04:21:35.97ID:EY4F88I6
? ? 1 ? ? ? 9 ? ?
3 ? ? 9 ? 1 8 2 ?
7 ? ? ? ? ? 1 4 5

1 ? ? ? ? 2 ? 3 ?
4 ? ? ? ? 7 5 ? ?
8 7 6 ? 4 ? 2 ? ?

9 ? ? 7 ? 6 ? ? ?
? ? 8 ? ? 9 ? ? ?
? 1 7 ? 2 ? 6 ? ?

これはもう少し難しい?
2018/02/20(火) 05:25:37.29ID:uweyqPTK
>>342
唯一解を仮定するか背理法使わないと解けないから中〜上級くらいじゃない
てか数独スレで聞けばいいじゃん
344デフォルトの名無しさん
垢版 |
2018/02/20(火) 10:50:28.73ID:vE/Q7KOY
数独はどれほど難しくてもこのスレで公開されたプログラム等を使えばほとんど瞬時に答えが出てしまうわけで、難易度判定は答えを求めるのとは違う何かが必要なのではないか?
2018/02/20(火) 13:17:30.69ID:0quXbJGi
人間と同じ様に候補を消して行くだけで解けるのは初級〜中級を予め埋まってる多さで分けて、総当たりでしか解けないのを上級、
答えが複数あって全て解くのをスペシャル級としたらいい。
でもどれも一瞬で解けちゃうんだけどね。
むしろ画像認識でカメラから問題を入力してくれよ。
2018/02/20(火) 13:24:13.36ID:EY4F88I6
全部空欄の数独以上の難問はないことになるな
2018/02/20(火) 13:38:26.62ID:0quXbJGi
>>346
その場合、正解は全組み合わせを網羅するしかないからなぁ
2018/02/20(火) 17:43:40.13ID:EY4F88I6
すべての数独の問題の解答を書けというようなもんだからなw
2018/02/25(日) 00:11:19.18ID:9iGYkY9C
https://mevius.5ch.net/test/read.cgi/tech/1480579110/375
いったん発信して落ち着こうと考えました
https://ideone.com/Yfr6sz
2018/02/25(日) 14:25:40.59ID:YNLMA5+o
発信×
発射
351デフォルトの名無しさん
垢版 |
2018/02/26(月) 02:41:37.52ID:t40oU2wX
簡単なお題

ローマ字入力された文字列を日本語の平仮名の文字列に変換する。
記号はそのままでも良い。
変換不能な文字列を発見したらその部分はエラーとしてわかるように出力する。
同じ音の表現が複数ある場合は一つの表現の平仮名にして良い(SHA と SYA を「しゃ」にする等)。
2018/02/26(月) 10:05:01.91ID:rEusavf/
名詞とかにある母国語綴りとか混雑してると途端に難問になる悪寒。
2018/02/26(月) 10:05:52.33ID:rEusavf/
混在だったわ予測変換のバカぁ
2018/02/26(月) 23:56:09.72ID:id86EQ/t
ローマ字変換のルールに幅がありすぎてなぁ……
"tttttte"は"っっっっって"なのかエラーとするのか
"xn"は"ん"なのかエラーとするのか
"patchi"は"パッチ"なのかエラーとするのか
"qi"は"くぃ"なのかエラーなのかとか
355351
垢版 |
2018/02/27(火) 02:49:02.65ID:o/plrlgo
細かいルールは自分で決めちゃっても良いよ。こういう時はこうなるとコメント等に書いておいてくれれば。
356351
垢版 |
2018/03/01(木) 03:35:55.28ID:zR2qQ5cS
自分でお題出しといて解かないのもあれなので一応作った。
結構面倒だな。w

Kotlin
https://paiza.io/projects/0yfrz9O4yGVgr3CPHAmVFw

しかしあまりKotlinらしい書き方ではないような気がする。
2018/03/01(木) 11:25:25.90ID:ywBwsyHs
こんなんこそ人工知能に学習させればいいのに。
358デフォルトの名無しさん
垢版 |
2018/03/01(木) 11:28:37.24ID:FGSoBATI
じゃあやってみれば?
2018/03/01(木) 12:00:36.81ID:ywBwsyHs
人工知能の成果の移植ってどうやるの?
2018/03/01(木) 22:25:45.16ID:mpKtuAXI
>>359
人工知能同士でお話させる。
2018/03/01(木) 22:41:52.43ID:A6M8jejf
性格が同じだと止揚が得られない
362デフォルトの名無しさん
垢版 |
2018/03/02(金) 14:30:55.92ID:fTHMdOYd
気づいたらAI同士で独自言語で話してて慌てて停止ですね。
2018/03/03(土) 23:57:25.78ID:QUW+kefH
>>349
https://mevius.5ch.net/test/read.cgi/tech/1480579110/375
https://mevius.5ch.net/test/read.cgi/tech/1434079972/37
2018/03/04(日) 23:25:09.87ID:zof3jshp
>>362
ガングロギャルはAIだったのかー!
2018/03/06(火) 02:20:28.01ID:FE1gPOnw
>>362
朝鮮製AIだな
2018/03/10(土) 20:25:13.50ID:rlKEqJVA
ビット演算のみを用いて四則演算を実装せよ
2018/03/10(土) 20:48:53.52ID:rlKEqJVA
捕捉
使っていいビット演算 and or not xor ビットシフト
負の数の定義 自由
四則演算の定義域と値域 税数→税数
2018/03/10(土) 20:51:20.98ID:rlKEqJVA
タイポ
四則演算の定義域と値域 整数 → 整数
使える数値比較 ==
if for whileとかは自由
2018/03/10(土) 20:58:08.58ID:+HpaswK4
forとかの制御変数の++とかは?
2018/03/10(土) 21:14:24.05ID:rlKEqJVA
>>369
そこら辺はOK
ただ、曖昧で恐縮なんだけど、
for(i = 0; ++i0 i < m * n) ++multi
とかでm*nを計算したりするのはNGということで
2018/03/10(土) 21:33:07.85ID:/5GajtRL
適当に考えても除算が思いつかんのだがー
372デフォルトの名無しさん
垢版 |
2018/03/10(土) 22:00:01.41ID:pUOqBlDu
除算以外が実装できていればできるとおもうがな。


逆数と平方根を求める高次収束アルゴリズム
http://www.finetune.co.jp/~lyuka/technote/fract/sqrt.html

逆数法
http://www.nextftp.com/swlabo/m0_pctech/hp_ultraprecision/up_820.htm


除算 (デジタル) - Wikipedia
数値的(ディジタル)な除算アルゴリズムはいくつか存在する。それらのアルゴリズムは、低速な除算と高速な除算の2つに分類できる。
高速な除算技法
ニュートン-ラプソン除算
ゴールドシュミット除算
二項定理
2018/03/10(土) 22:13:39.30ID:/5GajtRL
数値比較が==以外使えないのがつらい
バグがある除算はできたん・・・
2018/03/10(土) 23:07:42.57ID:/5GajtRL
-2147483648が絡んだ除算が(´・ω・`)
2018/03/10(土) 23:28:46.81ID:UlddhHbz
CORDICはどうだろうか
2018/03/10(土) 23:37:45.42ID:/5GajtRL
>>366 Java
https://ideone.com/JpWs5z
やっとでけた
377デフォルトの名無しさん
垢版 |
2018/03/12(月) 09:24:59.54ID:NWFe9xfW
あ、そーか。xorした結果がビット単位の結果になってandした結果がシフトレフトして足す値か。
378デフォルトの名無しさん
垢版 |
2018/03/13(火) 02:05:51.70ID:6d1W0dlg
お題:
ある会社の社員A君は下記のC言語のコードで変数aを素因数分解したものを画面に表示したい
しかしA君は心身ともに限界な状態であり、あと53回キーを叩くと過労で死んでしまう
どうにかして52文字以内(記号、スペースを含む)で/*こちら*/の部分を入るaの素因数を全て表示するプログラムを考えろ
ただし表示にはprintf関数を使い、一つの素因数ごとに改行すること

#include<stdio.h>

int main(void){
int i=0;
int a=720;/*任意の値*/

/*こちら*/

return 0;
}
2018/03/13(火) 02:35:29.37ID:6d1W0dlg
>>378
出題者ですが状況が変わりました
A君はあと51回キーを叩くと死ぬようになりました
なのでコードの制限は50文字以内に変更してください
一応安価付けときます
2018/03/13(火) 04:24:03.46ID:XvP7o12C
>>378
for(i=2;a>1;printf("%d\n",i),a/=i)for(;a%i;i++);
2018/03/13(火) 04:39:43.81ID:6d1W0dlg
>>380
すごい48文字でできたんだ
恐れ入りました
ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね
2018/03/13(火) 05:18:44.02ID:9P1VPgp7
括弧や%のShiftキー分で死ぬんじゃない?w
2018/03/13(火) 05:36:35.30ID:XvP7o12C
>>382
するどい!死んだわw
2018/03/13(火) 06:07:28.04ID:YnPl4ahZ
>>381
>ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね

終了しないことを許容することによる短縮か…
2018/03/13(火) 06:08:19.20ID:YnPl4ahZ
いや、終了しなくていいなら ;a>1; は ;; で ok か
2018/03/13(火) 06:11:22.12ID:6d1W0dlg
>>384
ごめんそれは今俺も気づいてこれダメじゃんと思ってた
もうだめだ俺ポンコツだ
2018/03/13(火) 09:31:38.72ID:yNzlrAYA
お前のお題つまんない二度とくんな
388デフォルトの名無しさん
垢版 |
2018/03/13(火) 12:46:32.28ID:5qOlO1LI
#include<stdio.h>

int main(void){
int i=0;
int a=720;/*任意の値*/

for(i=2;a>1;printf("%d\n",i),a/=i)for(;犯人はヤス・・・

return 0;
}
2018/03/13(火) 13:13:00.94ID:9lP0H3zv
お題:考えられる数列aを全て求め、出力せよ
ただし、数列aは次の式を満たす(Nは自然数全体)
a⊆N
∀i,j∈N,i<j;a_i<a_j
log(Σa_i)=Σlog(a_i)
∀i;1≦a_i≦10^18
2018/03/13(火) 13:27:27.25ID:4gb3BCLn
>>389
1, 2, 3
くらいですかね、これを計算で出すのはしんどいなあ
391デフォルトの名無しさん
垢版 |
2018/03/13(火) 13:29:32.40ID:dxwUZMkD
log(ab)=log(a)+log(b)だからログ関係なくナイカ?

a1<a2<・・・・<anで、Σai =Πaiを満たすってことだろ。
2018/03/13(火) 14:19:23.53ID:m5NKtYrG
まず{a_n}が上に有界な時点で∀i , j ∈ N i < j; a_i < a_j が成り立たないから問題として破綻している
393デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:19:24.28ID:dxwUZMkD
a+b+c = abcならば、c = (a+b)/(ab-1)だから、これが整数になるようなやつ見つければいいかと。
たとえば(2+3)/(2*3-1) = 1。
394デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:21:35.93ID:dxwUZMkD
それは増加数列を言いたかったんじゃないか。 a1<a2<・・・・<an
∀i , j  i<j ならばai < ajでは?
395デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:45:44.02ID:dxwUZMkD
4変数のときを考えると。
上と同様に、d = (a+b+c)/(abc-1)となるから。
これは分母のほうがデカイはずで、分子を割り切るならd=1に限るか?
そうすると、abc = 1 + a+b+c か。
aについて解くと、a = ( 1 + b + c) /( bc - 1 ) か。
これが再び1ではダメで、しかし分母のほうがデカイはずだから割り切るならa=2に限るか?
2bc - 2 = 1 + b + c か。
bについて解くと、b = (3 + c)/(2c-1)か。c=4ならば、b=1になるが?
2018/03/13(火) 14:56:18.86ID:9lP0H3zv
一応、数列は全部で7個になるはず
8個目はa_61が1152921504069976064>1.15×10^18で上限だから
数列の並び方は>>394でお願い、任意の並び方にしちゃうと組み合わせ爆発が発生するかなって思って付けた制約なので
2018/03/13(火) 14:59:51.72ID:23dHbGxb
ん?

n
ΠAi = ΣAi < n An
i=1

An で割って

n-1
Π Ai < n
i=1

で左辺は (n-1)! 以上だから n はたかだか 3 じゃない?
2018/03/13(火) 15:02:02.69ID:9lP0H3zv
……あ、やっべ
これお題として成立していないことに気付いた
2018/03/13(火) 15:04:01.62ID:9lP0H3zv
ごめんなさい、このお題は無しで
完全数の導出問題のつもりだったけど、aの要素を1個にするだけで10^18通りの解がある
twitterで流れてきた話を投げるべきではないな……反省して暫くお題出さないです
2018/03/13(火) 15:07:29.90ID:m5NKtYrG
>>394
それなら解はaの位数が1か、a = {1, 2, 3} のみだね
ってプログラミングで解く問題でもないと思うんだけど
2018/03/13(火) 18:03:31.33ID:9lP0H3zv
1,2,4,7,14
1,2,4,8,16,31,62,124,248
など
2018/03/13(火) 18:25:02.81ID:g+hlSIUf
お父さんそれは違う問題の答えでしょ
403デフォルトの名無しさん
垢版 |
2018/03/13(火) 18:39:09.17ID:LC30GjQR
何の話をしているのかサッパリわからんのだが、どうやら終わったようなのでまあいいか。
2018/03/14(水) 00:28:33.06ID:ZLNkomk9
出題者が出題内容を理解してなさそうだからサッパリわからない人がいても当然
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況