1 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 10:09:07.13 ID:phwOkayR.net] プログラミングのお題スレです。 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 前スレ プログラミングのお題スレ Part10 https://mevius.5ch.net/test/read.cgi/tech/1514772904/ プログラミングのお題スレ Part11 https://mevius.5ch.net/test/read.cgi/tech/1524570314/
27 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 18:18:57.90 ID:GgsL2+/f.net] 勤怠記録を整形したいです と正直に言えば話が早いのに
28 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 19:56:11.98 ID:WD/5XFit.net] >>27 そうなんですけど、VBAで会社にソースはあるんですけど、他の言語でも見たいんです
29 名前:デフォルトの名無しさん [2018/10/04(木) 21:21:03.44 ID:lLtqL4D1g] >>24 Python3 https://paiza.io/projects/c8Zd2-RCTSMuQiRIweXGYg
30 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 21:05:04.35 ID:THaWokSR.net] 平日って設定要る? 文字列 "YYYY/MM/DD HH:MM:SS" をいろんなフォーマットに変換するだけの問題じゃ駄目? なんで一旦 echo するの? 責めてるんじゃなくて単純な疑問ね
31 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 22:21:43.46 ID:pTnAHI9j.net] >>24 C++ #include <cstdio> #include <vector> #include <tuple> using namespace std; int zeller(int y, int m, int d) { if (m < 3) { y--; m += 12; } return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + d ) % 7; } int main() { vector<tuple<int, int, int, int, int, int>> v; for (int y, m, d, h, i, s; scanf("%d/%d/%d %d:%d:%d", &y, &m, &d, &h, &i, &s) == 6; ) { if (int w = zeller(y, m, d); 1 <= w && w <= 5) { v.emplace_back(y, m, d, h, i, s); } } for (auto [y, m, d, h, i, s] : v) { printf("%d/%02d/%02d %02d:%02d:%02d\n", y, m, d, h, i, s); } for (auto [y, m, d, h, i, s] : v) { printf("%d%02d%02d %02d%02d%02d\n", y, m, d, h, i, s); } }
32 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 22:45:58.84 ID:yblvOSiR.net] >>30 平日って設定の理由としては、問題を少し複雑にしたかったから、あえて入れてみた まあその制限が問題を難しくしてるのかって話もあるけど 文字列を色々なフォーマットにするでもいいけど、日本語でおkとか入力例とか出力例が自分でも適当過ぎた気がするので、また今度の機会に‥ >>31 C++は好きな言語だ 今度の連休で遊ばせてもらいます
33 名前:デフォルトの名無しさん [2018/10/04(木) 22:49:59.54 ID:9/syaOEb.net] そう言えば寝てたら未来へ行っちゃうってのは、Islandにちょっと似てる。
34 名前:デフォルトの名無しさん [2018/10/04(木) 22:50:28.48 ID:9/syaOEb.net] ごめん。誤爆。
35 名前:デフォルトの名無しさん [2018/10/05(金) 00:59:15.29 ID:x9IT1j0q.net] >>24 kotlin https://paiza.io/projects/exHqCjTWt7PPhZheEMwucw ほとんど何も考えずただ入力して出力しているだけ。
36 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 07:17:46.24 ID:wqnG0hHC.net] 春分の日と秋分の日はその前の年に気
37 名前:ロ庁だかどっかから指定される休日だから任意の時刻に対して平日判定を行うのは不可能 [] [ここ壊れてます]
38 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 08:06:04.84 ID:f0hsTKrn.net] まず問題文をよく読めって学校で教わらなかったのか?
39 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 09:07:05.89 ID:wqnG0hHC.net] ああ10月限定かすまんな それでも無駄な情報が多くて何をさせたい問題なのかやっぱりわからんわ
40 名前:デフォルトの名無しさん [2018/10/05(金) 09:48:23.51 ID:ExR6m3Ew.net] お題 1から連続する自然数の並びで 最初の a個の総和と それに続くb個の総和が 等しくなるものを 好きなだけ求めるち
41 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:50:56.93 ID:wqnG0hHC.net] >>39 (0..10**8).each{|i|n=2*i*(i+1)+1;x=Integer.sqrt(n);puts'a=%d, b=%d'%[a=(x-1)/2,i-a]if x**2==n} #=>a=0, b=0 a=2, b=1 a=14, b=6 a=84, b=35 a=492, b=204 a=2870, b=1189 a=16730, b=6930 a=97512, b=40391 a=568344, b=235416 a=3312554, b=1372105 a=19306982, b=7997214
42 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 14:58:28.47 ID:mgzjyvv8.net] >>35 koltin全く知らないけど、あとで読んでみます!
43 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 20:22:47.58 ID:3qR/q5rp.net] >>39 C++ https://ideone.com/PLj4M9 Wolfram先生によると一般項があるらしい www.wolframalpha.com/input/?i=2a (a%2B1)%3D(a%2Bb)(a%2Bb%2B1)+and+a%3E%3D0+and+b%3E%3D0
44 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 10:59:33.32 ID:MgCaJaM3.net] 半角スペース区切りで数字が入力されるのでソートして出力しなさい いろんなアルゴリズムでやってみよう -*- input -*- 3 1 4 1 5 9 2 6 53 58 97 93 2 38 46 26 -*- output -*- 1 1 2 2 3 4 5 6 9 26 38 46 53 58 93 97 例) Ruby ボゴソート ary = gets.split.map(&:to_i) nil while ary.shuffle!.each_cons(2).any?{|a, b| a > b} puts ary * ' ' バブルソート ary = gets.split.map(&:to_i) (ary.size - 1).times do ary.each_cons(2).with_index{|(a, b), i| ary[i, 2] = b, a if a > b} end puts ary * ' '
45 名前:デフォルトの名無しさん [2018/10/06(土) 13:39:49.65 ID:J8Y2BFN6.net] perl -ne '@d=split;print join(" ",sort {$a <=> $b} @d)."\n"' 無念無想のままたった今打った。1回も試していない。
46 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 21:20:29.96 ID:evMRo/Iv.net] 何かと思えば円周率か 要約気付いた
47 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 22:11:52.69 ID:xFDNl+om.net] >>43 GNU Smalltalk スリープソート https://ideone.com/BseQtg
48 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 22:49:39.54 ID:MgCaJaM3.net] >>46 なんだこれw 4ch発祥かぁ。面白いね
49 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 00:58:45.52 ID:KvcjzmFM.net] >>24 A君は平日以外学校に行かんのだろ? なら曜日なんぞ気にせず入力された登下校時刻を単に変換するだけになるような
50 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 07:50:57.08 ID:VJ+UDRYt.net] アスペか?アスペにはこのスレはたぶん無理 ↑これの読解もままならないだろうが(苦笑
51 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 13:41:58.37 ID:9vVPTzNb.net] >>48 そうだ
52 名前:ね さらに 10/01だけの入力から 10/02が出力されるところも謎だ [] [ここ壊れてます]
53 名前:デフォルトの名無しさん [2018/10/07(日) 18:04:09.18 ID:t8TfnMHv.net] お題 現在の時刻をスウォッチ・インターネットタイムで表示する 例 @042
54 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 19:17:11.77 ID:MD9q6Ezo.net] >>51 Ruby UTC基準で d=24*60*60;$><<'@%f'%((Time.now.to_f%d)*1e3/d) #=> @426.818338
55 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 21:21:58.39 ID:T4GR84FI.net] ビール標準時が基準点でないものはスウォッチ・インターネットタイムではない
56 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 21:30:25.37 ID:MD9q6Ezo.net] >>53 d=24*60*60;$><<'@%f'%(((Time.now.to_f-60*60)%d)*1e3/d)
57 名前:デフォルトの名無しさん [2018/10/08(月) 02:11:26.03 ID:tKqgyITq.net] perl -e '$s=86400;$n=1000*((time()+3600)%$s)/$s;printf "@%d\n",$n' 今実行するとこう出る。 @757
58 名前:デフォルトの名無しさん [2018/10/08(月) 16:16:40.26 ID:SHTmPUE+.net] https://exoplanetarchive.ipac.caltech.edu/docs/transit_algorithms.html まずこのサイトを読んで日時(UTC基準)からJDを求めるプログラムを作りなさい 逆に日時(UTC基準)から時刻を求めるプログラムを作りなさい このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない プログラムの結果が正しくなるように修正し、 このサイトのどこに誤記があるかその箇所を指摘しなさい
59 名前:デフォルトの名無しさん [2018/10/08(月) 16:19:35.99 ID:SHTmPUE+.net] >>56 訂正 (正)逆にJDから日時(UTC基準)を求めるプログラムも作りなさい (誤)逆に日時(UTC基準)から時刻を求めるプログラムを作りなさい
60 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:56:19.15 ID:P7JfEPgv.net] >>56 Ruby https://ideone.com/SKS4yj
61 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:00:20.72 ID:c9HgNpeF.net] >>58 (365.25*dy).to_i とかは 1461*dy/4 にしないとまずい
62 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:51:07.00 ID:P7JfEPgv.net] >>59 365.25 は 101101101.01(2) だから誤差の心配は無いよね? (1..3000).each{|n| p n if (365.25*n).to_i != 1461*n/4 } とかやってみて
63 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:14:43.42 ID:c9HgNpeF.net] >>60 それは良いとしても ( (c-122.1)/365.25 ).to_i の類の表現が他の個所にも複数あり この内のどれかが p (5.151/1.717).to_i #=> 2 のようにならないとはコードをみただけでは明確ではなく 剰えrubyのFloat classの精度は実装依存であるためこの様な処理はすべきではない
64 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:58:05.73 ID:5rk01rQ6.net] え ruby って IEEE 754 に準拠してないの? 信じ難いなそれ 使い物にならないじゃん
65 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 00:09:36.06 ID:lL60bjnv.net] IEEE754関係ないやろ Cのdoubleも環境依存やで
66 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 02:53:53.02 ID:z616RbAo.net] いや関係なかったら困るだろ バグってんだか仕様だかわからなくなるぞ
67 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 07:49:23.39 ID:G0ViTg21.net] 関係ないってそういう意味ではないのでは? >>62 の指摘することとIEEE 754は関係ないってだけで。 例えば32bitか64bitでdouble型の精度が違うなんて別に珍しいことではないと思うんですけど。
68 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 19:02:39.94 ID:jSAcVkU7.net] > 32bitか64bitでdouble型の ん? 32bitのdoubleなんてありえるの? IEEE 754以外で倍制度を決めてる何かがあるの?
69 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:21:14.72 ID:7Krlta4j.net] >>61 たかだか30行程度のループも再帰もない一本道なので具体的に示してもらえるとありがたいです。 この種のプログラムは地デジの日付情報が MJDで ARIBの規格書にも載っていて、 ごく一般的に使われているので、もし問題があるようならばなんとかしたいですよね。 >( (c-122.1)/365.25 ).to_i 浮動小数点で JD が扱える精度+αくらいならこれは問題ないと思いますが。 c は整数ですし、分母の 365.25もすでに説明しましたね。 グレゴリオ暦6239年で JD が 4000000辺りで分子が 365.25の倍数前後は 4000217.1/365.25 と 4000218.1/365.25 だから仮数部が 19bitほどあればいいわけですね。 # こんな定数のままだとコンパイラが最適化してしまいますけどね 組み込み用途などによっては考慮すべきかもしれないけれど、 最初のお題(>>56 )ってそういう意図があったのでしょうか? >このサイトに書いてあるとおりに作るとプログラムの結果は正しくならない これは特定の環境に限られたものを指していたのかな?
70 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:40:48.90 ID:BHyo+myF.net] 精度的に問題ないって理解してれば良いのでは よく理解してない人が小数点使う必要ない場面で使って事故って何も分かりませんみたいな事あるし コンシューマゲームなんかだとシビアなんで、癖みたいにしておかないとハマってしまうけど
71 名前:デフォルトの名無しさん [2018/10/09(火) 22:33:03.53 ID:uKgwXIAC.net] >>56 はココからが本当の本題 @ >>59 のコードでの誤記の指摘は概ね正解 ただ>>59 のコードの修正だけでは紀元前に対応していない 紀元前が対応するように修正しなさい A @のプログラムの通日を整数の通ナノ秒にして、ナノ秒までの時刻を正確に相互変換できるようにしなさい B Aにうるう秒をいれて正確に相互変換できるようにしなさい(制約で問題が発生する場合、問題が発生する時刻を書きなさい) 参考URL:maia.usno.navy.mil/ser7/tai-utc.dat Bは普通にやったら結構めんどい課題と考えられる 力技でやるなら暇人以外にはオススメしない(力技でやらないほうがいいと一応警告しておいたからな) コードの一部を出力するコードをサクッと作るぐらいの力量がなければ きっとサクッとはできないしサクッと結果の評価もできないと考えられる
72 名前:デフォルトの名無しさん [2018/10/09(火) 22:35:06.29 ID:uKgwXIAC.net] 訂正 (正)>>58 (誤)>>59
73 名前:デフォルトの名無しさん [2018/10/09(火) 22:56:04.77 ID:uKgwXIAC.net] https://ideone.com/fF1kvl Bで使えるデータは用意しておいた 気が向いたヤツはチャレンジしなさい
74 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 23:20:13.38 ID:UrO6v+ga.net] >>69-71 はサマータイムスレで暴論吐いてた奴じゃない?
75 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 00:03:10.45 ID:uHP11E7s.net] C言語スレとかのいろいろな所に出没してる半角先生だ どこでも相手にされなくなったから出題しに来た
76 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 09:42:44.92 ID:hOT3iUsl.net] サマータイムスレでの暴論って何なんだろう? まさかのサマータイム賛成なんて奴だったら許せんな。
77 名前:デフォルトの名無しさん [2018/10/10(水) 16:39:18.23 ID:slDdF7J+.net] お題 倍精度実数で整数部分が正確に表現できる最大値を求める
78 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:03:11.31 ID:8BTNYbZT.net] 浮動小数点実数型と言えど最大要素に近い 部分は、整数×2^整数という形の整数也
79 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:03:47.89 ID:8BTNYbZT.net] 整数×2^自然数 だた
80 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 17:4
] [ここ壊れてます]
81 名前:1:41.04 ID:8BTNYbZT.net mailto: (2^m-1)×2^n という形 [] [ここ壊れてます]
82 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 18:05:44.00 ID:TfVezTBt.net] 区間を求めるなら仮数部だけで収まる最大値だけど、 とある数の整数部が正しく表現されているだけなら仮数部も込みで double の最大値が答え それを std::numeric_limits<double>max() や DBL_MAX を使わずに計算せよ、ということか
83 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 19:38:40.27 ID:TfVezTBt.net] >>75 を2分探索で計算で出すコード書いてて ideone のコンパイラのバグ見つけた気がする https://ideone.com/D3ip5M if 文の条件式の値が1なのに実行されない find_max<char> とか int32_t で起きる 何か間違ってるかな
84 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 20:37:17.47 ID:GOApHyvI.net] 符号付き整数オーバーフロー(未定義動作)のせいで 変な最適化でもかかってるんじゃね?
85 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 21:07:51.69 ID:3iBo9D9z.net] >>69 通常 JDは UTCを元にするので閏秒は考慮しないと思いますよ、 天文計算などする場合は必要に応じて UT1とかに変換しているのじゃないかと?
86 名前:デフォルトの名無しさん mailto:sage [2018/10/10(水) 22:22:14.63 ID:TfVezTBt.net] >>81 なるほど。 オーバフローが未定義動作だとすると符号付整数の最大値を求めるのは難しそうだな。
87 名前:デフォルトの名無しさん [2018/10/11(木) 00:30:47.35 ID:p15CvoFg.net] ものすごい頭悪いこといってるわ。。。 UTCは う る う 秒 入 れ た 時 刻 のことだぞ マジでなんでこんな頭悪いの 天文でつかわれるユリウス日なんかはアホがいうとおり固定 1光年も固定でもないとヤバイからな 1光年は光が1ユリウス年(365.25日)進む距離になる そもそもオレの課題ではそんなことを問題になんかしてないからな 課題どおりにやればいい
88 名前:デフォルトの名無しさん [2018/10/11(木) 00:34:27.93 ID:p15CvoFg.net] 低学歴知恵遅れが知ったぶりしてハジかく典型的な例といっていい 低学歴知恵遅れはいちいち自分が低学歴知恵遅れですと自白するからな
89 名前:デフォルトの名無しさん [2018/10/11(木) 01:18:58.62 ID:ZbBeURnP.net] おまえまたくっさいくっさい自演しとんのか
90 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 12:46:49.51 ID:ZOnVTpMr.net] 誰からも相手にされなくなったか
91 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 13:22:48.89 ID:yY2EC70D.net] 相手にされなくなったんで問題だせば自動的に相手にされると思い込んでいる その辺りが半角先生の思考の限界
92 名前:デフォルトの名無しさん [2018/10/11(木) 14:46:25.14 ID:MYvNBgY5.net] ここが適切なのかわかりませんが、知恵を頂けたら幸いです。 当方CGクリエーターで、プログラミングの知識は殆どありません。 そこで質問なのですが、 Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、 Bのワールド位置を維持して、BをAのローカル座標位置へ移動させるには どのような行列式になるでしょうか? ネットで座標変換とか色々調べてみましたが、子のワールド位置を維持した状態で 親に該当するローカル座標へ移動させる方法がわかりませんでした。 本来の目的としては、 CGアニメーションソフトのコンストレイント機能にペアレントがありますが、 それを行列式(ノード)で行いたいのです。 (コンストレインのペアレントとは、 時間軸上の任意の位置で親子関係の接続や解除を行うことが出来る機能です。 その接続/解除時には、子は現在のワールド位置を維持します。
93 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 15:04:14.07 ID:3Bdkvxy9.net] スレ違い 「3d 行列」で検索!
94 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 15:26:21.10 ID:ZOnVTpMr.net] >>89 スレのルールに則れば誰か答えてくれるかもね
95 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 16:45:05.30 ID:NcfxmDj4.net] >>89 >Aのオブジェクトの座標値が(-1,-2,-3)として、Bのオブジェクトの座標値が(1,2,3)の場合、 (1,2,3) を (-1,-2,-3) からの相対値で表すということなら (1,2,3) 引くことの (-1,-2,-3) イコール (2,4,6)
96 名前:デフォルトの名無しさん mailto:sage [2018/10/11(木) 21:49:13.39 ID:anEb94RG.net] >>69 >B Aにうるう秒をいれて正確に相互変換できるようにしなさい >>84 >UTCは う る う 秒 入 れ た 時 刻 のことだぞ うるう秒を入れるでなく、外すが正解ですね。すでに UTCには閏秒が入っていますから。 UTC(協定世界時)は TAI(国際原子時)を元に閏秒で補正して UT1(世界時)に合わせています。 7:00:00(UTC)の一日先の時間が24h+-1sec(閏秒)でも時刻は7:00:00(UTC)となるわけです。 よって JDに24hを足すと翌日になり JD/24h%7で曜日が分かります。 未来の日付も計算可能ですが、閏秒を入れないTAI(国際原子時)では地球の自転次第で変化します。 >天文でつかわれるユリウス日なんかはアホがいうとおり固定 逆です、天文計算で使うような時間は UT(世界時)を基準にしています。 それは天体の運動方程式を解くために基準の時刻からの正確な時間が必要だからです。
97 名前:デフォルトの名無しさん [2018/10/11(木) 23:02:27.87 ID:p15CvoFg.net] https://warwick.ac.uk/fac/sci/physics/research/astro/people/steeghs/mpags-as2/mpags_techniques_2012_1b.pdf ・International Atomic Time (TAI) - SI second defined by frequency of hyperfine transition of cesium133 - Measured and counted with international network of atomic clocks ・Co-ordinated Universal Time (UTC) - Our civil time (in winter) - Based on SI second, with 86400s/day - Kept synchronised with UT1 since 1972 by addition of leap seconds - Leap seconds not added to TAI, so TAI-UTC is not constant - Currently (Nov 2012) TAI - UTC = 35s - Use of leap secs currently under discussion (inconvenient for astro) ・Co-ordinated Universal Time (UTC) - Currently (Nov 2012) TAI - UTC = 35s ・Calendar is independent of time system, so state both, e.g. - 2011 November 11 11:00:00.0 UTC - 2011 November 11 11:00:34.0 TAI - JD 2455876.958333 UTC - JD 2455876.958727 TAI コレでオレの課題ができないなら 人間やめたほうがいい
98 名前:デフォルトの名無しさん [2018/10/12(金) 01:38:38.44 ID:xbwLlD7o.net] >>75 倍精度って、これでいいの? https://ja.wikipedia.org/wiki/%E5%80%8D%E7%B2%BE%E5%BA%A6%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0 とすると -2^53 〜 2^53 になるわけでプログラムを作る必要性がないわけだが。 それとも仮数部が何ビットか分からない倍精度実数のビット数を求めるプログラムを作れってこと?
99 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 02:02:42.62 ID:ZYTXH3K/.net] プログラミングのお題 「10以下の素数の和を求めよ」 答え 「17。コード書くまでもないんだがこれでいいのか?」 これはおかしいだろう
100 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 02:23:49.18 ID:I/tzu8NI.net] >>96 ruby n = 10 Prime.reduce(0){|s, i|break(s) if i > n; s + i}
101 名前:デフォルトの名無しさん [2018/10/12(金) 02:35:54.36 ID:xbwLlD7o.net] え?じゃ、こんな感じ? perl -e 'for($n=1;(2**$n)!=(2**$n+1);$n++){} printf "%d, %.0f\n", $n, 2 ** $n;' 動かすとこう出るが。 53, 9007199254740992
102 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 06:06:04.48 ID:j3qUjmca.net] >>96 Pharo/Squeak Smalltalk (Integer primesUpTo: 10) sum
103 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 07:40:50.69 ID:GdhRssFx.net] >>96 ruby -rPrime 'p Prime.first(10).sum' #=> 17
104 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 09:39:43.72 ID:1UpgDbu2.net] first(10)って普通は最初の10個を列挙するもんだがrubyは違うのか… 名前重要ってわりにセンスないな
105 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 10:33:46.63 ID:oIm8hJ6E.net] じゃあちなみにこの関数名は何ならいいんだ? お前の考えを言ってみろよ センスを判定してやるよ
106 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 10:49:03.90 ID:6UbBSJp3.net] first(10)が10までってセンスは普通におかしいだろ つーかrubyも最初の10個返すんだが…?
107 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 13:22:40.26 ID:+EEi3z6C.net] 誰も動作を疑わずに書かれたものを脳死で信じるいい例だな、 >>100 のは17にはならん
108 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 13:50:43.62 ID:oIm8hJ6E.net] ruby/ruby: The Ruby Programming Language ttps://github.com/ruby/ruby そりゃそうだろ スクリプト言語のソースコードは公開されてて誰でも読めるが 大抵のユーザーは書かれたものを脳死で信じるしかないだろ それともお前は使うスクリプト言語のソースコードは全部精査してるのか? コンパイラのソースコードまで熟読してるのか? ンなモン、脳死で信じるしかねーだろ
109 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 13:54:46.58 ID:VST6PShP.net] 最近JavaとかC++とか少ないな Javaは例の騒動があるから仕方ないとしてCとかC++はないんか
110 名前:デフォルトの名無しさん [2018/10/12(金) 16:36:53.91 ID:OhxorjMK.net] >>106 >>80 はC++だね。
111 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 18:59:19.35 ID:eR+rcBR9.net] >>96 ruby require 'prime' p Prime.take_while {|i| i < 10}.inject(:+)
112 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:05:50.75 ID:oyAlSwuR.net] >>106 例の騒動って何
113 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 20:13:31.37 ID:jorGy8Se.net] >>80 gcc8.1だと char (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 0 (!(n > d && is_usual_num(n))) 1 (!(n > d && is_usual_num(n))) 0 break calculated = -128 numeric_limits = 127 128 127 となるね
114 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 21:22:44.25 ID:+EEi3z6C.net] ORACLEがお金取りますよってやつじゃない?
115 名前:デフォルトの名無しさん mailto:sage [2018/10/12(金) 21:27:58.87 ID:+EEi3z6C.net] なぜか言語自体のコード読む読まないの話になってるけど、これくらいのコードなら動かせばすぐにfirstが何してるか分かるじゃん、って思っただけだわ
116 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 10:05:11.14 ID:m4emGyLz.net] お題 方程式 1/n = 1/x + 1/y (ただし、n,x,yは正整数でx≦y)について考える 例えばn=4のとき、1/4 = 1/5 + 1/20 = 1/6 + 1/12 = 1/8 + 1/8 より解の個数は3である 上限Mが与えられたとき、上の方程式の解の個数がMを超える最小のnの値を求めよ 2 -> 4 5 -> 12 10 -> 24 100 -> 1260 1000 -> 180180 10000 -> 116396280 250000000000 -> ?
117 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 11:29:08.44 ID:4qDoRB+X.net] つまんない
118 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 11:32:11.63 ID:QkDteBzw.net] >>113 n = 2の時 1/4 + 1/4 = 1/2 1/3 + 1/6 = 1/2 だけだから結果は2だよ n=4の時より大きくなることはあり得ないし
119 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 11:52:27.26 ID:QkDteBzw.net] ごめん。>>115 は勘違い無視して
120 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 17:46:23.51 ID:QtssFn
] [ここ壊れてます]
121 名前:Iu.net mailto: >>113 Java https://ideone.com/Y57fPl [] [ここ壊れてます]
122 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 17:32:39.82 ID:lmCCx0VP.net] 回答一人で出題者からの返事がないとあってるかどうかわからないから困る
123 名前:デフォルトの名無しさん [2018/10/17(水) 11:31:35.00 ID:UkGf74ne.net] お題 [0,1]の一様乱数をN個発生させ、小さい順に並べてa(1), ..., a(N)とする 同様にもうN個作って小さい順にb(1), ..., b(N)とする 同じ順位同士で(a(1), b(1)), ..., (a(N), b(N)) とペアを作った時、a>bとなるペアの個数は0〜N個になるが、その分布は? またa, bを一様分布以外の分布から取ってくるとどうなる?
124 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 12:32:44.20 ID:DKH+Jm9W.net] >>119 それはプログラミングで解くお題なのか?
125 名前:デフォルトの名無しさん [2018/10/17(水) 13:07:54.93 ID:OYXuI76a.net] >>120 シミュレーションしてみるのも面白いかなと
126 名前:デフォルトの名無しさん [2018/10/17(水) 13:50:50.88 ID:8efdFbKL.net] 趣味で
127 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:07:56.22 ID:4awkQadJ.net] これはひどい