[過去ログ] プログラミングのお題スレ Part15 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
903: 蟻人間 ◆T6xkBnTXz7B0 2019/11/02(土)16:24 ID:3ZL9CX49(1) AAS
10^1〜10^10で二分探索を繰り返しかな?
904(1): 2019/11/02(土)17:38 ID:q/Mbih9P(1/2) AAS
>>899
外部リンク:ideone.com
C++。あってるか知らんけど、知識を動員して解いてみたんだけど、あってる?
三の3乗を6回やったら、doubleでinfになるので解けねーわ。うわわーん。
905(1): 2019/11/02(土)18:12 ID:41WzS7Cc(1) AAS
>>904
コード一切読んでないけどお前のは間違ってると思うよ
906: 2019/11/02(土)18:39 ID:q/Mbih9P(2/2) AAS
>>905
意味が解らん。
まぁ、いいけど。
907: 2019/11/02(土)19:40 ID:0iFQzt0L(1/2) AAS
>>899
PowerShellで最初の2例だけ。
function lg($x) {[Math]::log10($x)}
function pow($x, $y) {[Math]::pow($x, $y)}
function tetrconv($a)
{
$k = lg ((pow $a[-2] $a[-1]) * (lg $a[-3]) + (lg (lg $a[-4])))
$b = @(10) * ($a.count - 1) + [Math]::round($k, 3)
($a -join "^") + " = " + ($b -join "^")
}
省2
908: 2019/11/02(土)21:32 ID:0iFQzt0L(2/2) AAS
AA省
909(4): 2019/11/03(日)00:32 ID:ORedds2P(1) AAS
偶数の場合は半分に、奇数の場合は3倍して1加算して結果が1になるまでその数値を出力してください。
1まで出力して完了です。
単純だけど、どこまで短く書ける?
910: 2019/11/03(日)00:36 ID:ZBjdhNSI(1) AAS
>>909
コラッツ予想はもうおなかいっぱいだわ
911: 2019/11/03(日)12:57 ID:ax9Okew1(1) AAS
コラッて怒れば良いんじゃないかな
912: 2019/11/03(日)13:57 ID:mZU6qafh(1) AAS
>>909
外部リンク:ideone.com
C++。ショートコーダじゃないから短めに書いて、24行。
913: 2019/11/03(日)15:49 ID:kVBOYkVG(1) AAS
>>909
C#
外部リンク:ideone.com
短く書こうとする気すらないw
914: 2019/11/03(日)18:50 ID:6KV8hNPc(1) AAS
縦と横のサイズが与えられるのでアスペクト比を求めよ
915: 2019/11/03(日)20:03 ID:PuBKYFzC(1) AAS
比は整数のみ?
916: 2019/11/03(日)21:50 ID:rJL4Vpjg(1) AAS
AA省
917(6): 2019/11/04(月)07:30 ID:T8mOMaiU(1) AAS
お題:
m から n までの整数のうち、桁数字の和が s になるものをすべて列挙する
関数を書け。
具体的に:
1 から 100 までの整数のうち、桁数字の和が 12 になるものは、
39、48、57、66、75、84、93 である。
関数の実行例:
f(1, 100, 12) → [39, 48, 57, 66, 75, 84, 93]
918(1): 2019/11/04(月)10:20 ID:xKwnPcPn(1/2) AAS
数列和好きだね これで何回目だ?
数列和求めて何か嬉しいのか? 簡易計算ミスを防げるとか
919: 2019/11/04(月)10:51 ID:FzGFhotx(1) AAS
>>917 perl
なんの捻りもない
use List::Util qw(sum);
print join",",(grep{sum(split//)==12}(1..100));
920: 2019/11/04(月)12:37 ID:7wrIz40y(1) AAS
>>918
数列和?
いきなりオレオレ用語で語られても困るw
921: 2019/11/04(月)14:30 ID:obVJwnOe(1) AAS
>>917
外部リンク:ideone.com
C++。割といつも通りという感じ。
922: 2019/11/04(月)19:33 ID:xKwnPcPn(2/2) AAS
タイポ
数字和 >744 などにでてくるやつ
923: 2019/11/04(月)19:35 ID:6jo2x8my(1/2) AAS
>>917
PowerShellで単純に書けば
function f($a, $b, $s) {$a..$b |? {(iex ([char[]]"$_" -join "+")) -eq $s}}
f 1 100 12
だが、桁が増えると遅すぎるので、少し工夫すると、
$M = [Math]
function g($s, $n)
{
if ($n -eq 1) {return $s}
$d = $M::pow(10, $n - 1)
省9
924(1): 2019/11/04(月)19:36 ID:6jo2x8my(2/2) AAS
AA省
925: 2019/11/05(火)01:53 ID:gnRgB6kn(1) AAS
>>909
Kotlin
外部リンク:paiza.io
肝心な部分は短いよな・・・
926(1): 2019/11/05(火)20:14 ID:e+hxAdfR(1) AAS
お題:グラフの最長距離探索プログラムを作りなさい。分からなければダイクストラの最短距離探索プログラムを改造して作りなさい。
927: 2019/11/05(火)20:40 ID:3L71zPwH(1/2) AAS
>>926
全探索になるから辛い。
X以上になったら打ち切りとかできないし、枝がX個以上なら切るとかもできない。
928: 2019/11/05(火)21:02 ID:3L71zPwH(2/2) AAS
枝じゃなかった。支点だった。
929: 2019/11/05(火)22:48 ID:4YhU7TUN(1) AAS
AA省
930: 2019/11/07(木)19:42 ID:wJeAdMrJ(1) AAS
>>917
Kotlin
外部リンク:paiza.io
ひねりなし。
931: 2019/11/07(木)22:47 ID:Iq2Mem9/(1) AAS
AA省
932(2): 2019/11/10(日)21:37 ID:OK7x/7YO(1/2) AAS
文字コードがシフトJISでもUnicodeでも3つ以上の連番となる文字列(最長一致)を、
コード範囲とともにすべて表示せよ。例えば、それらのうちの1つに関する表示は、
824F..8258
FF10..FF19
01234566789
となる。なお、シフトJISには機種依存文字を含んで構わない。
933(1): 2019/11/10(日)21:57 ID:uvNl/eaa(1) AAS
>>932
何を以って同じ文字とみなすのか定義しろ
934: 2019/11/10(日)22:09 ID:OK7x/7YO(2/2) AAS
>>933
それも機種依存で構わない。規格上の厳密さにこだわる必要はない。
935(2): 2019/11/10(日)23:26 ID:EkgZPBq1(1) AAS
>>932 Java
外部リンク:ideone.com
これでいいのけ?
936(2): 2019/11/11(月)00:44 ID:VmjibYtT(1) AAS
バイナリファイルの高速コンペア
937(1): 2019/11/11(月)18:33 ID:KK646YuM(1/2) AAS
>>936
メモリに二つとも呼んでfor回す。意外は難しい気がする。
938: 2019/11/11(月)19:03 ID:KK646YuM(2/2) AAS
>>917
外部リンク:ideone.com
C++。一回解いたけど再考して配列一個潰した。
5秒で5000万位解けそう??
939: 2019/11/11(月)22:23 ID:ySONYK72(1) AAS
>>936
単に一致不一致だけわかればいいのか?
とか
コンペアするファイルは2つだけなのか?
とか
単に2つのファイルの一致不一致を見るだけなら基本>>937の言う通りだと思う
940(1): 2019/11/11(月)22:37 ID:hxYpUSvR(1) AAS
>>935
正解。Windowsには機種依存文字
8754..875D
2160..2169
TUVWXYZ[\]
などもあるが、機種依存文字を含んでも構わないという出題だったので、
含まなくてもOK。
941(13): 2019/11/12(火)05:31 ID:oeG9wEYf(1) AAS
お題
スレ立てるまでもない質問はここで 152匹目
2chスレ:tech
の3番の問題を勝手に解く
942: 2019/11/12(火)12:11 ID:BJKXTHw+(1) AAS
>>940 Java
外部リンク:ideone.com
>>935からCharasetをShift-JISからx-SJIS_0213に変えただけ (Windowsだとx-MS932_0213のほう?)
Shift-JISだと古いやつなんやな
943: 2019/11/12(火)21:37 ID:+gLjUv3x(1) AAS
>>941
処理データ量が少なく計算効率を考慮しなくて良いなら、Rで簡潔に書ける。
外部リンク:ideone.com
効率が求められるなら、Cで二分探索の変形版だな。
外部リンク:ideone.com
944(2): 2019/11/12(火)22:38 ID:SyoIDDRx(1) AAS
windowsのロングパス対応の重複ファイル検索するコードない?
945: 2019/11/13(水)04:07 ID:eXHRJefh(1) AAS
>>941 Pharo/Squeak Smalltalk
| fn |
fn := [:m |
| table |
table := #(98 100 198 200 250 298).
table detectMin: [:x | (x - m) abs]
].
fn value: 50. "=> 98 "
fn value: 195. "=> 198 "
946: 2019/11/13(水)14:07 ID:9sxFrKBI(1) AAS
>>941
外部リンク:ideone.com
C++。多分動いてるけど、境界線系のエラーハンドリングは適当。
947: 2019/11/13(水)15:30 ID:EqcpRCSG(1) AAS
どう考えても線形探索の方が簡単で速い
1回だけなら
948: 2019/11/13(水)18:24 ID:utJBi2wY(1) AAS
>>941 Lua
function f(a, x)
local res = a[1]
for i = 2, #a do
if math.abs(res - x) > math.abs(a[i] - x) then
res = a[i]
end
end
return res
end
949: ◆QZaw55cn4c 2019/11/13(水)20:03 ID:ESFhNQze(1) AAS
>>944
2chスレ:tech
950: 2019/11/13(水)20:28 ID:6mLuLK4e(1) AAS
>>941 octave
外部リンク:ideone.com
951: 2019/11/13(水)20:40 ID:H1DP2m/6(1) AAS
>>944
>>1002
952: 2019/11/13(水)20:48 ID:CMaH4qd1(1/2) AAS
>>941
C++ならSTLのequal_rangeを使えば、二分探索のコードを自前で書かずに済む。
外部リンク:ideone.com
この例の条件でしか判定しないなら、5つの定数値との比較にするのが一番簡単で
速そうだな。
外部リンク:ideone.com
953: 2019/11/13(水)21:39 ID:Fqkv69gY(1) AAS
なんで順番に5回も比較してんの?
954: 2019/11/13(水)21:47 ID:kE3A4AyF(1) AAS
10回比較するわけにはいかないからでしょ
955(1): 2019/11/13(水)21:53 ID:RzCRvdkP(1/4) AAS
まずは199との比較では?
あとは範囲を絞ったテーブルとか
int全てをカバーするテーブルも
intが32bitな64bit環境なら一応は可能
956: 蟻人間 ◆T6xkBnTXz7B0 2019/11/13(水)22:09 ID:SHPlbPC2(1) AAS
お題: 自動塗り絵。
白地に黒い線で図形が描かれているモノクロ画像が与えられる。
白い領域をそれぞれ適当な単色で塗りつぶせ。可能ならOpenCVを使ってもいい。
957: 2019/11/13(水)22:51 ID:RzCRvdkP(2/4) AAS
ペイントブラシ + スクリプト
で出来そう
958: 2019/11/13(水)23:03 ID:CMaH4qd1(2/2) AAS
>>955
「一番速い」ではなく「一番簡単で速い」だからね。可読性とかバグの
混入しにくさとかも考えると、順番に5回比較するのが一番良いだろ。
特に 2chスレ:tech への
回答としては、最も適している。
959: 2019/11/13(水)23:40 ID:RzCRvdkP(3/4) AAS
一番速くもないし一番簡単でもない
一番「簡単で速い」?
簡単と速いは相反するので一番なんて無い
960: 2019/11/13(水)23:42 ID:RzCRvdkP(4/4) AAS
凡人が安易に「一番」とか言わない方が良いよ
961: 2019/11/14(木)01:06 ID:4AhPUV/Y(1) AAS
俺が一番
962: 2019/11/14(木)06:15 ID:BnXMw1SX(1) AAS
>>941 Io
f:=method(a,x,
a map(v,list((v-x)abs,v))min last
)
d:=list(98,100,198,200,298)
f(d,120) println
実行結果
100
963(2): 2019/11/14(木)09:31 ID:baSi3t2K(1) AAS
一番簡単で速いってなんだよ
一番簡単かつ一番速いなら一番速いって言えばいいだけだろ
ってC++の人かよ
964: [age] 2019/11/14(木)12:32 ID:WVE0j82D(1) AAS
一番に過剰反応してるみなさんwww
965: 2019/11/14(木)13:14 ID:/NpdgKVA(1) AAS
一番とか最も適しているとか
頭が悪いやつが良く言うセリフ
966: 2019/11/14(木)13:27 ID:isT1FYJS(1) AAS
それな
あと「頭悪いやつがよく言う」ってのも頭悪いやつよく言うセリフだわ
967: 2019/11/14(木)15:14 ID:1CVvHcAw(1) AAS
>>941 python
外部リンク:ideone.com
968: 2019/11/14(木)16:23 ID:bZ2yXVXr(1) AAS
>>963
俺、よくmakehoge書いてる人だけど、その二分探査書いた人は別人。
偶に、俺じゃない人がC++書いてくことがある。
まぁ、俺も貢献度が高いかというと解らんけど。
969(1): 2019/11/14(木)22:16 ID:ya/1xYDt(1/2) AAS
>>963
「一番簡単で速い」は「一番簡単」かつ「速い」という意味だよ。
一番簡単なコードを書いてみて充分に速ければ、さらに手を加える必要はないってこと。
昨今はCPUが速いので、簡単なコードをささっと書いて終わりにできる場合が多いし、
Cを使うまでもなくRやPythonなどでも実用に耐える。処理条件が変わって速度に
不満が生じたときだけ、書き直せば良い。
970(1): 2019/11/14(木)22:21 ID:KjmBL3+S(1) AAS
配列をキャッシュに乗せるだけで早くなる
配列にするだけで早くなる
971: 2019/11/14(木)23:43 ID:ya/1xYDt(2/2) AAS
>>970
>>941の最も近い値を求める処理(Aと呼ぶ)だけを複数回連続して行う場合はそうだが、
間に別の処理(Bと呼ぶ)がたくさん入る場合はキャッシュから外れるかも知れないし、
AよりもBの方で相対的にだいぶ長い時間がかかっているならば、Aを高速化する
意味はない。
Aを簡単に書き終え、Bを書き進めてプログラム全体を完成させ、各部分の実行時間を
デバッガで分析し、Aを高速化する必要があるか判定するのが効率的な開発方法。
必要なときだけAを書き直してみて、元のAと実行時間を比較し、顕著に速い場合だけ
採用する。あまり変わらない場合は元の簡単な方に戻す。
972(1): 2019/11/15(金)06:08 ID:/dDy1LQy(1/2) AAS
>>969
なぜ
一番簡単
だと思ったのか
973(1): 2019/11/15(金)06:11 ID:/dDy1LQy(2/2) AAS
中途半端に最適化するくらいなら
意味通りをそのまま記述した方が良いよ
トリッキーなマクロとか使わないで普通にループでいいし
974: 2019/11/15(金)07:24 ID:YlbiRAmO(1/2) AAS
>>941 J
f =: 4 : 0
{. x /: | x - y
)
a =: 98 100 198 200 250 298
a f 199
198
975(1): 2019/11/15(金)08:39 ID:zGnI3whh(1/2) AAS
>>491 python
整数の範囲を 1000000000 にして、リストのサイズをその1/10の 100000000 にしてやった物
外部リンク:ideone.com
976: 2019/11/15(金)08:46 ID:pd2oXw5y(1/4) AAS
お題はどれ?
977: 2019/11/15(金)10:34 ID:zGnI3whh(2/2) AAS
>>975 は、>>941 のお題の間違い。
978: 2019/11/15(金)10:34 ID:kGxI2dsU(1) AAS
>>972
もっと簡単なのがあると言うなら提示すりゃいいだけ
979(1): 2019/11/15(金)10:37 ID:Dg2kwGpJ(1) AAS
そんなら一番簡単なんて言ったもん勝ちやんアホクサ
980: [age] 2019/11/15(金)11:19 ID:y6ix6SXf(1/2) AAS
>>979
どういうこと?
981: 2019/11/15(金)13:20 ID:pd2oXw5y(2/4) AAS
発言者に証明責任がある
当たり前
982(1): 2019/11/15(金)13:22 ID:pd2oXw5y(3/4) AAS
簡単じゃない部分は書いたけどね
983: 2019/11/15(金)13:25 ID:pd2oXw5y(4/4) AAS
本当に一番簡単だと思ってるなら
非常に頭が弱い
というしかない
984: [age] 2019/11/15(金)16:04 ID:y6ix6SXf(2/2) AAS
証明責任が
985: 2019/11/15(金)18:45 ID:YlbiRAmO(2/2) AAS
>>941 Ruby
def f(a,x)
a.min_by{|v|(v-x).abs}
end
986: 2019/11/15(金)22:18 ID:1XAUh39O(1) AAS
>>982
ひょっとして>>973か?
頓珍漢な指摘でドヤられても困るw
987(1): 2019/11/16(土)07:59 ID:PKd8UO5d(1) AAS
お前ちょっとしつこいよ
二人ともどっか行ってくれ
988(4): 2019/11/16(土)09:38 ID:R3eXoa4h(1/2) AAS
お題: 標準入力から読み取った文字列に対して変換候補の単語を表示するスクリプトを作れ
変換候補は 外部リンク[html]:www.cs.cmu.edu のテキストを元にし、英文のみの対応とする
例:
in < on
out > ['on', 'once', 'one', 'only']
in < we
out > ['well', 'went', 'were']
989(2): 2019/11/16(土)09:39 ID:R3eXoa4h(2/2) AAS
>>988
URL訂正: 外部リンク[html]:www.cs.cmu.edu
990(1): 10-11 2019/11/16(土)11:43 ID:nyexrMnj(1) AAS
Mathematica
ビットテーブル使ったからいまいち
f[x_]:=Round[Exp[x*49/2^9]*10]+Mod[BitShiftRight[8518656,x],2]
f[Range[0,23]]
{10,11,12,13,15,16,18,20,22,24,27,30,33,36,39,43,47,51,56,62,68,75,82,91}
991: 2019/11/16(土)13:01 ID:9Ne+J8hx(1) AAS
>>988-989 PowerShell
$Words = ([RegEx]"\w+").Matches((Invoke-WebRequest '外部リンク:www.cs.cmu.edu | Select-Object -ExpandProperty 'Value' | Sort-Object -Unique
'on', 'we' | %{ "'$_' => ['$($Words -cmatch "^$_.*$" -join ''', ''')']" }
--
'on' => ['on', 'once', 'one', 'only']
'we' => ['well', 'went', 'were']
992: 蟻人間 ◆T6xkBnTXz7B0 2019/11/16(土)14:12 ID:wI2tFyzM(1) AAS
そろそろ次スレ
993: 2019/11/16(土)20:00 ID:ycfnvugG(1) AAS
>>987
誤解がないように一応言っておくが、同一人物なのは943, 952, 958, 969, 971, 993だけで、
978や986は別人ね。
994: 2019/11/16(土)20:11 ID:SjIOWxyj(1) AAS
どうでもいい
匿名掲示板
995: 2019/11/16(土)22:09 ID:ByTTIV4m(1) AAS
>>988
@Mathematica
外部リンク:ideone.com
996: 2019/11/17(日)09:01 ID:xqEdXdr6(1) AAS
次スレ
プログラミングのお題スレ Part16
2chスレ:tech
997: 990 2019/11/17(日)15:37 ID:WMPUR+bY(1) AAS
BitGet使うんだった(Mathematicaに慣れてないのばればれ)
(* 49/2^9 = 0.095703125 *)
f[x_]:=Round[Exp[x*0.095703125]*10]+BitGet[8518656,x]
もう少し頑張っても16ビット以内にビットテーブルは縮小出来ず…。
(* 785/2^13 = 0.0958251953125 *)
f[x_]:=Round[Exp[x*0.0958251953125]*10]+BitGet[130048,x]
998: 2019/11/21(木)12:06 ID:p+kY48sO(1) AAS
>>941 julia
a=[98,100,198,200,250,298]
f(a,x)=a[argmin(map(abs ,a.-x))]
f(a,50)
999: 2019/11/21(木)17:12 ID:x85mexbT(1) AAS
>>988-989 Squeak Smalltalk。関数で。
| contents words fn |
contents := (HTTPClient httpGet: '外部リンク:www.cs.cmu.edu contents.
words := (contents replaceAll: Character lf with: Character space; asTextFromHtml) asString subStrings: ' !"''()*,-.:;?`'.
words := words asSet asSortedArray.
fn := [:in | words select: [:word | word beginsWith: in]].
fn value: 'on'. "=> #('on' 'once' 'one' 'only') "
fn value: 'we'. "=> #('well' 'went' 'were') "
"for Pharo => 外部リンク:ws.stfx.eu "
1000: 蟻人間 ◆T6xkBnTXz7B0 2019/11/21(木)20:01 ID:KAM+noJg(1) AAS
はかい
こうせん
せんもんがっこう
1001(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 116日 0時間 21分 10秒
1002(2): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
省4
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.055s