2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2014/12/11(木) 15:17:14.07 ID:Ipp+K308.net
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part5
http://peace.2ch.net/test/read.cgi/tech/1411227287/

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。

946 :デフォルトの名無しさん:2015/04/12(日) 11:59:46.64 ID:5IvJvm44.net
問題ぐらい読もうよ

947 :デフォルトの名無しさん:2015/04/12(日) 12:28:03.52 ID:5oPlUArh.net
問題はビリヤードの玉を使うとあるが。
幾つまで数字があるか、一セットしか使えないとは書いてない。
玉が7個や8個や21個あるビリヤードもあるかもしれない。
何セットでも使用可なら1のみ選ぶのもある。

948 :デフォルトの名無しさん:2015/04/12(日) 14:08:51.74 ID:Kyho4V/V.net
両方やればいいじゃない

949 :デフォルトの名無しさん:2015/04/12(日) 15:51:21.40 ID:5IvJvm44.net
>>947
やっぱり日本語が読めないのか
何セットでも使っていいが、それだと解の条件を満たさないでしょ

950 :デフォルトの名無しさん:2015/04/12(日) 17:56:42.16 ID:Vi6a17uJ.net
>>856 J
smoutput u: _12 + a. i. 'Tqxx{,c{~xp'
Hello World

951 :デフォルトの名無しさん:2015/04/12(日) 18:28:22.89 ID:tR9Eg8dR.net
一所懸命に、回答例まで作ってみた >>575 に回答はつかないのね‥泣

952 :デフォルトの名無しさん:2015/04/12(日) 20:12:25.21 ID:4fkLnYAO.net
キルヒホッフの法則?

953 :デフォルトの名無しさん:2015/04/12(日) 22:03:28.87 ID:Nj+dqsUa.net
>>951 Ruby
http://ideone.com/1ZXHUe

954 :デフォルトの名無しさん:2015/04/13(月) 03:25:44.46 ID:aCGk6LVm.net
>>893
お題が数学パズルっぽいので一般解があるのかもしれないと
しばらく考えてたけど降参><
力ずくで C++
http://ideone.com/hA1mFM
7個のとき解なし

合っているか自信ないけど以下:
8個で解96(鏡像回転除いて6)
9個で解72(鏡像回転除いて4)
10個は・・・計算に数時間かかりそう

955 :デフォルトの名無しさん:2015/04/13(月) 05:20:48.59 ID:kgFkwbxk.net
コンビネーション自作とか猛者だな。いいなー。才能クレ。

956 :デフォルトの名無しさん:2015/04/13(月) 12:28:50.22 ID:O30lCFiy.net
お題:1に3,5,7をそれぞれ0回以上掛けてできる数を小さいものから100個もとめる

957 :デフォルトの名無しさん:2015/04/13(月) 12:47:22.04 ID:aN+rsjOQ.net
3 < 5 < 7 < 3^2
だから簡単そうだなw

958 :デフォルトの名無しさん:2015/04/13(月) 13:44:31.76 ID:/Aa3hGZM.net
>>956 Haskell
これでええんか?
http://ideone.com/7oBoFa

959 :デフォルトの名無しさん:2015/04/13(月) 14:08:57.97 ID:V7jnRRgk.net
>>956 Java
http://ideone.com/JR3YQB

>>958 こうじゃないかな?

960 :デフォルトの名無しさん:2015/04/13(月) 14:27:48.20 ID:/Aa3hGZM.net
>>959
そういうことだろうとは思っていたが
こう書けばわかってもらえるだろうというやっつけな出題が嫌いだ

961 :デフォルトの名無しさん:2015/04/13(月) 14:38:20.40 ID:V7jnRRgk.net
>>956 Java
http://ideone.com/dGoBER
出力をちょっと解りやすくした

962 :デフォルトの名無しさん:2015/04/13(月) 19:25:23.90 ID:e1V4T9fq.net
>>956
bc
(3 * 5 * 7) ^ n % n とやりたかったのだけどタイムアウトしてしまうのでちょっとインチキ
http://ideone.com/0bwAQe

963 :デフォルトの名無しさん:2015/04/14(火) 03:57:13.20 ID:JKwd4u3i.net
>>956
>>962 さんの方法を使って剰余で使う数を
少しずつ拡張するようにしてみた
C
http://ideone.com/93iWtW

964 :デフォルトの名無しさん:2015/04/14(火) 04:01:15.48 ID:JKwd4u3i.net
お題: 金額はいくら?

箱に日本の硬貨が1枚以上入っています
中身は外からは見えませんが、硬貨のみの正確な重量は箱の重量がわかっている
ので知ることができます
硬貨の重量から箱の中の硬貨の総額を、取り得る値全て求めてください

各硬貨の1枚の重量は以下の通りです(実際の重量と同じです)
1円玉: 1.0g
5円玉: 3.7g
10円玉: 4.5g
50円玉: 4.0g
100円玉: 4.8g
500円玉: 7.0g

例:8.0gの場合 「8円(1円x8)、54円(50円+1円x4)、100円(50円x2)、501円(500円+1円)」
金額と同時に各コインの内訳も表示(オプション)

とりあえずサンプルとして 23.7g になる金額を求めてみてください

解答例(C言語 見づらいですが><):
http://ideone.com/g5rNf2

965 :デフォルトの名無しさん:2015/04/14(火) 05:31:50.99 ID:8K9J72Mn.net
>>964 Java
http://ideone.com/v0OU66
結果が違うw

966 :デフォルトの名無しさん:2015/04/14(火) 06:13:02.26 ID:JKwd4u3i.net
>>965
ほんとだ どこか間違ってたみたい
というわけで、正しい答えは >>965 さんのを参考にしてください
自分は出直してきますw

967 :デフォルトの名無しさん:2015/04/14(火) 07:45:02.78 ID:JKwd4u3i.net
>>966
以下は>>964の解答例のループ途中のdouble型の数値を書きだしたもの

a1 = 3.700000, a2 = 3.700000 // 値
a1 = 98 99 99 99 99 99 0d 40 // double 8バイトのメモリイメージ
a2 = 9a 99 99 99 99 99 0d 40 // double 8バイトのメモリイメージ

リトルエンディアンなので最初のバイトが最下位ビットになるのですが、
このちょっとの誤差でうまくいかなかったのでした
double型の比較問題の好例みたいな解答例になってしまった

値を丸めても良いのですが、重量を10倍して整数で扱う形に書き直しました
http://ideone.com/vE7UPP

>>965と同じになって安心

968 :デフォルトの名無しさん:2015/04/14(火) 07:50:41.58 ID:1aqhfbLs.net
ああJavaは浮動小数点演算を厳密にやるから(つまり遅い)そこで差が出たんだな

969 :デフォルトの名無しさん:2015/04/14(火) 08:29:45.21 ID:8K9J72Mn.net
http://ideone.com/Tzsj8S
インタープリターで動いてる1回目は遅い
2回目以降はまあまあ早い

static boolean epsilonEquals(double a, double b, double epsilon)
{
 return Math.abs(a - b) <= epsilon;
}
こんな感じでdouble同士の比較は幅持たせてる
そのまま==で比較したら23.7だと結果21個だわ

970 :デフォルトの名無しさん:2015/04/14(火) 14:13:43.75 ID:/iQm+CFv.net
>>964
なんとか綺麗に書けないか考えてみたがこういうのどうやっても泥臭いコードになっちゃうなw

971 :デフォルトの名無しさん:2015/04/14(火) 14:42:20.19 ID:I9ozslwe.net
>>964 Haskell
http://ideone.com/6eAtB2
出力フォーマットは合わせてない

972 :デフォルトの名無しさん:2015/04/14(火) 16:21:37.62 ID:lELr+SZG.net
ほら、これでも解いとけ
https://paiza.jp/poh/enshura-special

973 :デフォルトの名無しさん:2015/04/14(火) 16:34:59.75 ID:5erMhlO7.net
>>972
非常に有名な問題でついに手抜きか?
なんの独自性もないだろ?

974 :デフォルトの名無しさん:2015/04/14(火) 17:54:46.45 ID:JdejwVu9.net
いつのまに国際化したし

975 :デフォルトの名無しさん:2015/04/14(火) 19:15:05.79 ID:8K9J72Mn.net
>>964 Java
http://ideone.com/p9TGWl
無駄に高速化したら酷いコードにw

976 :デフォルトの名無しさん:2015/04/14(火) 19:56:25.33 ID:5erMhlO7.net
>>972は速度ではなく最短手順を競うところに新規性があるのか。
ルービックキューブの速どきは速度を競うが、無駄な動作が無い方が速いわけで、最短解法を追求してるとも言える。
それと同じようなことをプログラムでやると。

977 :デフォルトの名無しさん:2015/04/14(火) 20:17:07.43 ID:j0yztYMW.net
もはや2次絵に何の反応もないとか

978 :デフォルトの名無しさん:2015/04/14(火) 20:52:34.57 ID:sl3GRVWt.net
>>972
大分前に問題作成コードのお題がこのスレに出てたような。
解くのは無理だなぁ。

979 :デフォルトの名無しさん:2015/04/14(火) 20:54:52.66 ID:sl3GRVWt.net
>>89

980 :デフォルトの名無しさん:2015/04/15(水) 15:54:39.56 ID:bGMPFrzy.net
>>964
ttp://ideone.com/JeUEIU
C++。>>969の関数パクらせてもらった。
この前のビリヤード計算と同じ要領で組んだ。
浮動小数演算はやっぱあんまり好きじゃないな。
はよ十進化少数入らんかな。

981 :デフォルトの名無しさん:2015/04/15(水) 21:04:21.47 ID:pT7gC8kj.net
>>964
Python3で。
ttps://paiza.io/projects/sAc2clQwAQMEf9jWroBcXg

982 :デフォルトの名無しさん:2015/04/16(木) 02:08:17.97 ID:Q9DdJM30.net
>>964
C#
http://ideone.com/gfMQ0l

IDEONEだとタイムアウトで全部答えを出さないうちに終了するな...

983 :デフォルトの名無しさん:2015/04/16(木) 05:27:44.10 ID:axBf0iFy.net
そろそろ次スレの季節ですかね・・・。

984 :デフォルトの名無しさん:2015/04/16(木) 09:26:51.82 ID:jLDb4Tyi.net
>>975
速いですね
ソート無しの探索部分だけで倍時間かかってたわ
200.0g -> 412ms
http://ideone.com/tA1zvD

985 :デフォルトの名無しさん:2015/04/16(木) 11:51:43.54 ID:PkMvowGQ.net
1から7までの部屋がある
各部屋のつながりはこのようになっている
1-2
1-3
1-4
2-5
3-5
4-5
2-6
3-6
4-6
5-7
6-7

1から7までの最短経路を全て出力しなさい

986 :デフォルトの名無しさん:2015/04/16(木) 23:42:32.35 ID:XyyhtFlt.net
>>983
プログラミングのお題スレ Part7
http://peace.2ch.net/test/read.cgi/tech/1429195275/

mail:sageteoff しわすれた

987 :デフォルトの名無しさん:2015/04/17(金) 12:46:06.42 ID:3AKzHyjc.net
>>985 C
http://ideone.com/rFYGRr  な・・長い!
>>986

988 :デフォルトの名無しさん:2015/04/17(金) 13:36:57.69 ID:T4tyuJgr.net
レナとミナミの国際プログラミング選手権|paizaオンラインハッカソン5+


盤面を完成させた平均手数のランキングです。

1位 uwi   40.4 回 1.7 秒 Java

2位 orisano 41.6 回 0.85 秒 C++

3位 holydc 43.2 回 0.03 秒 C++

4位 y_mazun 43.2 回 0.75 秒 C++

5位 siman 50.0 回 0.63 秒 C++


https://paiza.jp/poh/enshura-special

989 :デフォルトの名無しさん:2015/04/17(金) 20:43:22.34 ID:5nKDLfaK.net
>>964
>>982改良
http://ideone.com/Y6ygrm

このスレ学生が多いのかC#少ないな。
っていうか、俺もへっぽこプログラマだけどこのぐらい「読める」コードを書いて欲しい。

990 :デフォルトの名無しさん:2015/04/17(金) 20:52:05.48 ID:AdcsK90A.net
  |=番兵|_
 (  ・ω・) < オツカレサマナノン
  〇={=}〇
  |::::::::::\
、、、し 、、、(((.@)fri sat sun vv..

991 :デフォルトの名無しさん:2015/04/17(金) 21:10:46.89 ID:5axG3xuM.net
C系言語のコードはどれも読みにくく感じるが、俺がいいと思ったのは>>967

992 :デフォルトの名無しさん:2015/04/17(金) 23:05:18.52 ID:3AKzHyjc.net
>>985 C++
http://ideone.com/plSjsF

>>987をC++に書き直してみたけどぜんぜん短くならなかった・・・
このスレのHaskellの簡潔なソースにひかれて勉強し始めたけど
なかなか思うようには作れないね エラーメッセージもちょっと難解

993 :デフォルトの名無しさん:2015/04/17(金) 23:57:48.49 ID:QyW2mAP8.net
>>989
それじゃ、出力結果を合計金額でソートもできるようにしておいて。

994 :デフォルトの名無しさん:2015/04/18(土) 00:10:44.74 ID:XxMX+y8Q.net
>>993
何がそれじゃかわからんけど、19行目を
foreach (var c in combinations.OrderBy(x => x.Value))
に変えるだけ。

995 :デフォルトの名無しさん:2015/04/18(土) 08:07:22.72 ID:mvDinqtT.net
リーダビリティは強制しなくてもいいじゃない
それは短いコードの対極で、どちらも良いものだと思うけど

総レス数 995
255 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★