プログラミングのお題 ..
[2ch|▼Menu]
231:デフォルトの名無しさん
20/04/18 23:50:57 tXl890QR.net
ニチャァ…

232:デフォルトの名無しさん
20/04/18 23:58:10 ZN+TZ1sR.net
算数できないやつが単発IDで必死にマウント取ろうとしてて草

233:デフォルトの名無しさん
20/04/19 00:09:28 10eyuplu.net
>>224
どうやって計算したのか知らんが
3番目は2.0005586058915847だな

234:デフォルトの名無しさん
20/04/19 00:25:50 suK8nNv5.net
>>229
検算とヒントありがと、2.00055860589158 - (-1.14103404769821) = 3.14159265358979
プログラの間違い直せたら書き込むわ

235:デフォルトの名無しさん
20/04/19 00:29:16 10eyuplu.net
>>230
普通に余弦定理で内角求めてPIから引くだけだよな?

236:デフォルトの名無しさん
20/04/19 00:35:52.14 suK8nNv5.net
>>231
1)内積⇒arccos
2)外積⇒arcsin
凸判定には角度0や符号反転も要検出なので
2)でやってるがどっかに間違い入っちゃったかもしれなす

237:デフォルトの名無しさん
20/04/19 00:56:56 tNtEbJNg.net
自演と思わないと精神保てないの草

238:デフォルトの名無しさん
20/04/19 01:15:18.71 kCjisW+o.net
お題:マップの縮尺から画面の縮尺バーの長さを求めろ。
縮尺は、現実:画面 = 1:s
バーの長さは100以上で出来るだけ短くする。
バーの現実での長さの数値は 1, 2, 5 が頭にきて以降は0のみが続くもののみ許される。(1桁なら0がなくても良い)
例:
s = 0.003 → 150
0.01 → 100
0.4 → 200
0.96 → 192

239:デフォルトの名無しさん
20/04/19 06:41:17.34 J81tNU7x.net
>>234
問題がよくわからない。

240:デフォルトの名無しさん
20/04/19 07:17:30.86 kCjisW+o.net
説明が下手ですみません。
縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。
その現実で何キロメートルかというのがバーの左に表示されています。
バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。
そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。
この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。
バーの長さは取りうるものの中で最小のものでお願いします。

241:デフォルトの名無しさん
20/04/19 07:38:33.09 aJCN2KvM.net
>>234
scheme
URLリンク(ideone.com)

242:デフォルトの名無しさん
20/04/19 07:56:27.14 n5nVZY1D.net
>>233
ひっでえブーメランで草

243:デフォルトの名無しさん
20/04/19 08:58:41.21 OfVksrZS.net
外角って言葉、最近は習わない?

244:デフォルトの名無しさん
20/04/19 12:05:15 bDqlqATM.net
単発IDワラワラ

245:デフォルトの名無しさん
20/04/19 12:16:31 ylCglSST.net
ちょっと数学の話になる度にむきになって荒らすのが必ず一人いるからな

246:デフォルトの名無しさん
20/04/19 12:30:18.52 6WjGzswu.net
お題に答えろよ

247:デフォルトの名無しさん
20/04/19 13:11:54 +exX8g3v.net
日本語や説明が下手なお題だと考える気も起こらない

248:デフォルトの名無しさん
20/04/19 14:11:18 J81tNU7x.net
>>236
現実:画面 = 1:s
という式の意味は?

249:デフォルトの名無しさん
20/04/19 15:33:55 xgV79Bs/.net
>>186 Perl5、P0-P2-P4-P1-P3が凸五角形であるか、で判定

@t = ([[0,0], [1,2], [2,0], [0,1], [2,1]],
   [[0,0], [1,2], [2,0], [0,2], [2,2]],
   [[0,0], [0,1], [1,2], [2,1], [2,0]],
   [[0,0], [5,5], [0,5], [1,0], [1,6]],
   [[0,1], [0,0], [1,0],[-1,-2],[-2,-1]]
   );
@s = qw{0 2 4 1 3 0 2};
use PDL;
use PDL::Math;
use PDL::Constants qw(PI);
use feature 'signatures';
sub f($v1, $v2) {
 my $sp = sum $v1 * $v2;
 $v2 = -$v2 if


250: $sp < 0.0;  my $ang = asin det pdl $v1 , $v2;  $ang = $ang >= 0.0 ? -PI + $ang : PI + $ang if $sp < 0.0;  $ang } for $ps (@t) {  @vs = map{pdl $ps->[$s[$_]]} 0..6;  @es = map{norm($vs[$_+1] - $vs[$_])} 0..5;  $angs = pdl map{f $es[$_], $es[$_+1]} 0..4;  $ans = 'true';  $ans = 'false' if (grep{abs $angs->at($_) < 0.0001} 0..4)             or $angs->min * $angs->max < 0.0;  $ttl = sum $angs;  $ans = 'false' if abs $ttl < 6.28 or abs $ttl > 6.29;  print "$ttl = Σ$angs: $ans\n"; }



251:デフォルトの名無しさん
20/04/19 15:35:04 dE29U5t1.net
>>245 の実行結果

~ $ perl 17_186_convx_pent.pl
The signatures feature is experimental at 17_186_convx_pent.pl line 12, <DATA> line 207.
6.28318528610616 = Σ[ 1.5707963 0.78539816 1.5707963 0.78539816 1.5707963]: true
6.28318530717959 = Σ[ 1.5707963 1.5707963 0 1.5707963 1.5707963]: false
-12.5663706143592 = Σ[-2.2142974 -2.4980915 -2.677945 -2.677945 -2.4980915]: false
-6.28318530717959 = Σ[-0.78539816 -1.0303768 -2.0005586 -0.89605538 -1.5707963]: true
-12.5663706143592 = Σ[-2.0344439 -2.9996956 -2.4980915 -2.9996956 -2.0344439]: false

252:デフォルトの名無しさん
20/04/19 16:09:00.64 wiVZfWUn.net
>>131
Java
URLリンク(paiza.io)

253:デフォルトの名無しさん
20/04/19 16:09:14.25 9DMQwSqL.net
URLリンク(mypage.syosetu.com)
知らねしね

254:デフォルトの名無しさん
20/04/19 16:14:07 o4nQ3+S9.net
>>244
具体的には、地球上で1mの長さの直線の道路があった時、それを画面の地図上で 1m × s の長さで表示するということです。
s=0.01ならその道路は画面に1cmで表示されます。

255:デフォルトの名無しさん
20/04/19 18:05:16.51 3h7RKaJW.net
>>234 Perl5 (問題の意図をくみ取り違えていなければ、下記で良い筈…ただし実の距離が一桁以下の場合はNGかも…)
for $s (qw{0.003 0.01 0.4 0.96}) {
 $d = 1;
 while ($s * $d < 10) { $d *= 10 }
 if (50 <= ($s * $d)) {
  $d *= 2;
 } elsif (20 <= ($s * $d)) {
  $d *= 5;
 } else {
  $d *= 10;
 }
 print "$s -> ", $s * $d, "\n";
}
実行結果
~ $ perl 17_234_scale_bar_len.pl
0.003 -> 150
0.01 -> 100
0.4 -> 200
0.96 -> 192

256:デフォルトの名無しさん
20/04/19 20:22:34 3rSuzVma.net
>>250 もっとスンナリ書けるんだった…

for (qw{0.003 0.01 0.4 0.96}) {
 $d = $_;
 while ($d < 10) { $d *= 10 }
 if  (50 <= $d) { $d *= 2 }
 elsif (20 <= $d) { $d *= 5 }
 else       { $d *= 10 }
 print "$_ -> ", $d, "\n";
}

257:デフォルトの名無しさん
20/04/20 06:02:04 C+lKY/AM.net
>>234 Ruby
def scale( s )
i = (100.0 / s).ceil
j = 100 * 10 ** - Math.log10( s ).to_i
s * j * [ 1, 2, 5 ].each{|k| break k if i <= k * j; 10 }
end

[ 0.003, 0.01, 0.4, 0.96 ].each{|x| puts "%-6g → %d" % [ x, scale(x) ] }

258:デフォルトの名無しさん
20/04/20 16:12:46 EsvxpnHB.net
>>181 Perl5 (Javaじゃなくてスマソ、ActivePerlなどのTkxモジュールがインストールされている環境で実行ください)

use Tkx;

$top = Tkx::widget->new('.');
$c = $top->new_canvas(-width => 300, -height => 300);
$c->g_pack(-expand => 1);

($x0, $y0) = (150, 50);
$r = 200;
($v, $theta) = (0, 3.1415 * 40 / 180);
($x, $y);
$dt = 20;

sub show {
 ($x, $y) = ($x0 + $r * sin $theta, $y0 + $r * cos $theta);
 $c->coords($st


259:ick, $x0, $y0, $x, $y);  $c->coords($ball, $x-7, $y-7, $x+7, $y+7);  Tkx::after($dt, \&show);  $a = -0.00098 * sin $theta;  $a *= $a * $v > 0 ? 0.95 : 1/0.95; # dumping  $dv = $a * $dt;  $dtheta = ($v + $dv/2) * $dt / $r;  $theta += $dtheta;  $v += $dv; } show; $stick = $c->create_line($x0, $y0, $x, $y, -width => 2.0); $ball = $c->create_oval($x-7, $y-7, $x+7, $y+7, -fill => 'gray'); Tkx::MainLoop();



260:デフォルトの名無しさん
20/04/20 17:09:22.78 CQO/p7b7.net
最下点付近での近似だな

261:デフォルトの名無しさん
20/04/20 17:15:47 CQO/p7b7.net
いや普通のだったわ、すまん

262:デフォルトの名無しさん
20/04/20 18:33:21 SXRlK0qI.net
>>181 Python3 (Javaじゃなくてスマソ >>253 をインプリ, tkinterのインストールされている環境で実行ください)

import math, tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
x0, y0 = 150, 50
r = 200
v, theta = 0, 3.1415 * 40 / 180
x, y = x0 + r * math.sin(theta), y0 + r * math.cos(theta)
stick = canvas.create_line(x0, y0, x, y, width=2)
ball = canvas.create_oval(x-7, y-7, x+7, y+7, fill='gray')
dt = 20
def show():
  global v, theta, x, y
  a = -0.00098 * math.sin(theta)
  a *= 0.95 if a * v > 0 else 1/0.95 # dumping
  dv = a * dt;
  dtheta = (v + dv/2) * dt / r
  theta += dtheta;
  v += dv;
  x, y = x0 + r * math.sin(theta), y0 + r * math.cos(theta)
  canvas.coords(stick, x0, y0, x, y)
  canvas.coords(ball, x-7, y-7, x+7, y+7)
  root.after(dt, show)
show()
root.mainloop()

263:デフォルトの名無しさん
20/04/20 19:55:58 qCtnBvYT.net
そろそろオレ二重振り子見たくなってきちゃったなァ

264:デフォルトの名無しさん
20/04/20 20:37:59.21 7fNLbA/z.net
double pendulumはカオスだからNG

265:デフォルトの名無しさん
20/04/20 21:50:54 3yxFdBsA.net
>>135
Java 操車場アルゴリズム
URLリンク(paiza.io)

266:デフォルトの名無しさん
20/04/20 22:11:41.07 7fNLbA/z.net
>>259
すげえな。
どうやって考えたの?

267:デフォルトの名無しさん
20/04/20 22:36:14 arq8EuUU.net
考えたわけじゃなくね?

268:デフォルトの名無しさん
20/04/20 23:51:34 RmTF1U13.net
これダイクストラなのか

269:デフォルトの名無しさん
20/04/21 00:32:44 2I58wt93.net
スタックに積んで処理していくっていう昔ながらの方法と何か違うの?

270:デフォルトの名無しさん
20/04/21 00:35:59 2I58wt93.net
ウィキペディアにあった

271:デフォルトの名無しさん
20/04/21 19:01:08.06 Nu/0ktL2.net
>>258
数値計算にカオスとか関係なくね?

272:デフォルトの名無しさん
20/04/23 02:45:01 40I0QciX.net
>>135
bash
URLリンク(paiza.io)

eval は使ってないw

273:デフォルトの名無しさん
20/04/23 05:19:07 GeQlI54q.net
>>265
ウルトラマンカオス。

274:デフォルトの名無しさん
20/04/23 22:15:50.71 CuZLC5Yi.net
>>181 Common Lisp (SBCL) + CLX。X Window Systemが使える環境で。>>253, >>256を参考に
(require "asdf")
(asdf:load-system "clx")
(defpackage #:pendulum (:use #:common-lisp #:xlib))
(in-package #:pendulum)
(defvar *display* (open-default-display))
(defvar *screen* (display-default-screen *display*))
(defvar *window* (create-window :parent (


275:screen-root *screen*)          :x 0 :y 0          :width 300 :height 300          :background (screen-white-pixel *screen*))) (defvar *gcontext* (create-gcontext :drawable *window*)) (defparameter *x0* 150) (defparameter *y0* 50) (defparameter *r* 200) (defparameter *theta0* (/ (* pi 40) 180)) (defparameter *dt* 0.03) (map-window *window*) (loop for v = 0 then (+ v dv)   for theta = *theta0* then (+ theta dtheta)   for x = (+ *x0* (floor (* *r* (sin theta))))   for y = (+ *y0* (floor (* *r* (cos theta))))   for a = (let ((a (* -0.00098 (sin theta)))) (funcall (if (> (* a v) 0) #'* #'/) a 0.95))   for dv = (* a *dt*)   for dtheta = (/ (* (+ v (/ dv 2)) *dt*) *r*)   do (progn     (draw-line *window* *gcontext* *x0* *y0* x y)     (draw-arc *window* *gcontext* (- x 7) (- y 7) 14 14 0 (* 2 pi) t)     (clear-area *window*)))



276:デフォルトの名無しさん
20/04/23 23:35:29 CLpyggBI.net
乙。

277:デフォルトの名無しさん
20/04/23 23:53:39 lusTU/GG.net
お題: 配列と列数が与えられるので配列を行列に再構築して返せ
例:
in < [1, 2, 3, 4], 2
out > [[1, 2], [3, 4]]

278:デフォルトの名無しさん
20/04/24 00:06:04 B1fvRJ4E.net
>>270 Perl5

$s = [1, 2, 3, 4];
$ncol = 2;
push @b, [splice @$s, 0, $ncol] while @$s;
use Data::Dump 'dump';
print dump(\@b,)."\n";


実行結果
~ $ perl 17_270.pl
[[1, 2], [3, 4]]

279:デフォルトの名無しさん
20/04/24 00:32:20 9Lyz0QqN.net
>>270 Ruby

p [*eval(str.sub(/],/,"].each_slice"))] # => [[1, 2], [3, 4]]

280:デフォルトの名無しさん
20/04/24 01:48:19 m2hQekEP.net
>>270 D
void main() @safe {
import std.stdio : writeln;
import std.range : chunks;
[1, 2, 3, 4].chunks(2).writeln;
}

281:デフォルトの名無しさん
20/04/24 02:15:23 XDANT2WI.net
>>270 matlab

reshape([1,2,3,4],[],2)

282:デフォルトの名無しさん
20/04/24 06:44:44 q4hgA9QE.net
入力無視すんなら最初からprint([[1,2,],[3,4]])ってかけばええやんw

283:デフォルトの名無しさん
20/04/24 06:56:30 oaHyD4Kv.net
>>270 J
f =: 4 : 0
(-x) , \ y
)

  2 f 1 2 3 4
1 2
3 4

284:デフォルトの名無しさん
20/04/24 13:12:17 UlmQZP6K.net
>>275
あんたバカ?

285:デフォルトの名無しさん
20/04/24 14:03:24 LCR05+vC.net
このスレは入力のハードコーディングは禁止だって>>1に書いてるだろ?

286:デフォルトの名無しさん
20/04/24 15:04:41 SqTnlu82.net
みなのもの戦に備えろ

287:デフォルトの名無しさん
20/04/24 15:36:47.80 fZ+Jqbcm.net
>>270
Kotlin
URLリンク(paiza.io)
こういうことをするための chunked() という拡張関数がライブラリに最初からあるので自分ではほとんど何も考えてない。

288:デフォルトの名無しさん
20/04/24 16:43:36 QbKPO/NJ.net
      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ  <  どうすっかな……      ,,、,、,,,
    /三√ ゚Д゚) /   \_______
     /三/| ゚U゚|\      ,,、,、,,,               
 ,,、,、,,, U (:::::::::::)∪  ,,、,、,,,
      //三/|三|\       ,,,,    ,,、,、,,,
      ∪  ∪
  ,,          ,    ,,,,    ,,、,、,,,       ,,、,、,,,
,,,,,    ∧_∧ うまいモナー,,,,,   、 ,,,,,,   ,,,,,,,,    ,,,,,
 ,,,   ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
  / ̄ ( つ日ヽ   ∧_∧    (    )               /
/    (__))   (´∀` )   (    )    ∧_∧∧_∧ / マターリモナー
 ∧_∧∧_∧ドーゾ (日ノ )  | | |    ( ´∀`) ´∀`)
 ( ´∀`) ´∀`)    ((__)  ,(_(_) (○)⊂   ) つ日⊂ ) モーナー
―(つ⊂  ) つ⊂ )――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
   (⌒)(⌒) (⌒)(⌒)グーグー

289:デフォルトの名無しさん
20/04/24 19:26:26 q4hgA9QE.net
>>277
死ねよゴミ

290:デフォルトの名無しさん
20/04/24 19:46:51 OOGSSbp6.net
お題:ABC問題を解いてみましょう。

概要。
URLリンク(originalnews.nico)
サンプル。
URLリンク(wandbox.org)

291:デフォルトの名無しさん
20/04/24 20:10:45 zMxMvQeG.net
解くって何をするん?

292:デフォルトの名無しさん
20/04/24 20:28:58 Ln0giejY.net
論文のurlを表示するとかでいいんじゃね?

293:デフォルトの名無しさん
20/04/24 20:56:21 pA5GOauV.net
お題
XORゲートは4つのNANDゲートで構成できることが知られている
この構成方法をプログラムで探索せよ

i番目のNANDゲートの入力を(ai,bi)、出力をciとする
XORゲートの入力を(X,Y)、出力をZとする

出力例
X->a1
Y->b1
X->a2
c1->b2
Y->a3
c1->b3
c2->a4
c3->b4
c4->Z

294:デフォルトの名無しさん
20/04/24 23:27:45 giWR9tWL.net
>>286
Step 6, Solution 1
0 : -1, -2: 0, 0, 1, 1 : 2
1 : -1, -2: 0, 1, 0, 1 : 2
2 : 1, 0: 1, 1, 1, 0 : 3
3 : 2, 0: 1, 1, 0, 1 : 3
4 : 2, 1: 1, 0, 1, 1 : 3
5 : 4, 3: 0, 1, 1, 0 : 2

295:デフォルトの名無しさん
20/04/25 02:15:29.89 7k5qv/w/.net


296:デフォルトの名無しさん
20/04/25 08:29:40 He4LT43P.net
>>286 Ruby
URLリンク(ideone.com)
対称など考慮せずに 384通りの解が出てきた
ループ判定は手抜き

297:デフォルトの名無しさん
20/04/25 09:02:48 mTthreta.net
[0,0,0,0] は Array.new(4, 0)
[ nil,nil, nil,nil, nil,nil, nil,nil ] は Array.new(8)
って書いた方が分かりやすいな
あとcase-when はthenを使うのが良し

298:デフォルトの名無しさん
20/04/25 13:22:15 o1s8FM4j.net
細かっw

299:289
20/04/27 07:09:24 0mP+psCA.net
>>286 Ruby
URLリンク(ideone.com)
svg で回路図化、配線は手抜き

300:デフォルトの名無しさん
20/04/27 09:21:19.63 Vk+6u7Hb.net
次は全加算器をやってみよう。
4入力セレクタ辺りで限界でしょう。

301:デフォルトの名無しさん
20/04/27 18:53:24.75 KzmnkBMz0.net
このスレってアルゴリズムとかデータ構造を解説してくれる人はあまりいなんだな

302:デフォルトの名無しさん
20/04/27 19:18:51.96 XYadQOO0.net
聞かれなかったから

303:デフォルトの名無しさん
20/04/27 19:29:48 9Rl/jVuf.net
>>294
わからないことあったら聞こうよ
ガキじゃねえんだからさ

304:デフォルトの名無しさん
20/04/27 19:39:12 11UvoXnI.net
そらコードしか書かんわな

305:デフォルトの名無しさん
20/04/27 19:49:07 uF9iuztD.net
アルゴリズムは金になるからここじゃあ書かないよ。
聞きたくなるようなコードをチラ見せするのがプロ。

306:デフォルトの名無しさん
20/04/27 19:50:45 hGnxzjbK.net
聞きたくなるようなのあったか?

307:デフォルトの名無しさん
20/04/27 19:54:18 11UvoXnI.net
そもそもここにそんな高等なお題でねえだろ

308:デフォルトの名無しさん
20/04/27 21:06:36.61 KzmnkBMz.net
知らない言語の長いコードを読むのは難しいからアルゴリズムだけ書いてほしい
そうじゃなかったら何のために披露してるのかわからない

309:デフォルトの名無しさん
20/04/27 21:16:33.23 11UvoXnI.net
知らない言語を知ればいいだけやん

310:デフォルトの名無しさん
20/04/27 21:17:48.49 D3+TkawX.net
(誰かがきっと俺のコードをじっくり読んでくれるはず…!)

311:デフォルトの名無しさん
20/04/27 21:26:35 04Et8o2n.net
perl


312:とかだと全くわからん 暗号にしか見えん まあそれが楽しいんだろうけどw



313:デフォルトの名無しさん
20/04/27 22:44:33.33 9Rl/jVuf.net
アルゴリズムを教えるためのスレじゃないからなw

314:デフォルトの名無しさん
20/04/27 22:46:29.62 Nbm5XyHg.net
アルゴリズムの自信作を披露するスレだろ?

315:デフォルトの名無しさん
20/04/27 22:49:14.07 d54bWA3b.net
やりましたの報告スレじゃね?
しらんけど

316:デフォルトの名無しさん
20/04/27 22:50:44.47 pfA6eg61.net
お題:ワープ付き迷路
始点(S)、終点 (G)、通路(.)、ワープ(0-9)、壁(#)で構成される大きさH×Wの迷路を考える
プレイヤーは、隣接する壁以外のマスにコスト1で移動することができる
ワープマスに入った場合、プレイヤーは対となるワープマスにコスト0で強制的に移動する
迷路中に存在する0-9の個数は、各数字について0個または2個である
始点から終点に移動するときの最小コストを求めよ
ただし、終点に到達できない場合は"impossible"と出力せよ
4 6
1#S...
....#.
#####.
1..G..
=> 7 (ワープを使わずに右に進むとコストは8)
3 3
S1G
###
1##
=> impossible (ワープ先で身動きが取れなくなる)
1 22
S01234567890123498765G
=> 5 (S→0→9→4→5→G)

317:デフォルトの名無しさん
20/04/27 22:57:02.43 EEEc2NVc.net
>>301
披露してる側には意味はあるだろう。
お前の方には読めないコードでは意味がないのかもしれないけど、それはお前の都合でしかないだろう。

318:デフォルトの名無しさん
20/04/27 23:03:37 4xqUIPcT.net
まあそうムキになるな
余裕がある人はコメントなりレスなりで解説入れたりすればいいと思うよ

319:デフォルトの名無しさん
20/04/27 23:15:10 KzmnkBMz.net
>>309
例えば?

320:デフォルトの名無しさん
20/04/27 23:44:27 EEEc2NVc.net
>>311
とりあえず思い付くままにかいてみると、
アルゴリズムだけだったらとるに足らない問題だったり、逆に難しいけどそれただの数学の問題だよねってのが多いけど、それをプログラミング言語で書くから解く方も面白いし見る側も面白い。
同じ問題でも使う言語によって使える機能や記法が異なるから、様々な回答、解法が出てくる。
大抵の人は複数言語が読めるし詳しくなくてもちょっと考えたり調べれば読めるから、読めない人がいることをケアする必要性は特にない。
Jとか一部の言語のワンライナーとかは読めないことが多いけど、むしろそういう読めないようなコードで実現されていることが面白いし、読めないながらも感心してしまう。
アルゴリズムを疑似言語的に書こうとするとどうしても曖昧さや人によって解釈が異なる問題が出てしまうが、仕様が定義された言語を使えばその問題は回避できる。

321:デフォルトの名無しさん
20/04/27 23:47:51 KzmnkBMz0.net
312
>>292とか>>268ってどういうアルゴリズムなん?
やっぱ概要入れてくれたほうが親切だと思う

322:デフォルトの名無しさん
20/04/27 23:51:19 KzmnkBMz0.net
スマホのほうにはslipコマンドが設定してあるのでIDちょっと違いますが
自分はID:KzmnkBMzです

323:デフォルトの名無しさん
20/04/27 23:55:26 EEEc2NVc.net
>>313
説明つけてくれればそりゃ親切だろうけど、回答する人に初めからそこまで求めるなよ。
疑問があれば質問すればいいだけでしょ?

324:デフォルトの名無しさん
20/04/27 23:59:22 KzmnkBMz0.net
>>315
そういう見方もあるかもしれないですね
親切な


325:レスには説明ついていて助かりますね



326:デフォルトの名無しさん
20/04/28 01:00:38.45 0FC2c4TG.net
こういう流れを見てると、つくづくプログラマーって学生時代に冴えなかった奴等の巣窟なんだって痛感するよね…

327:デフォルトの名無しさん
20/04/28 01:33:53 mJox3ckA.net
自分語りかよ…
人を自分と一緒にしないでくれ

>>313 言っちゃー悪いそのレベルだと、まだまだ山のように勉強が必要だと思う

328:デフォルトの名無しさん
20/04/28 01:38:11 LE+4zw96.net
誰かに教えるスレじゃないんだからそういう見方しかないと思うけど…

329:デフォルトの名無しさん
20/04/28 01:38:37 tOE52D5S.net
>>317
それとブラック企業で使い潰され余裕ない奴な

330:デフォルトの名無しさん
20/04/28 01:46:12.43 ljT+88J3.net
俺は職業プログラマではないけどプライド高い人は多そうなイメージ
他板でもプログラミングスレは大抵荒れてる

331:デフォルトの名無しさん
20/04/28 01:48:31.06 dQnTZ6B4.net
勘違いしている底辺が大半
ごく一部が優秀
でもその付加価値に見合った価格が支払われない残念な分野

332:デフォルトの名無しさん
20/04/28 04:03:48 4kUhwH6S.net
教えて欲しいと言えないバカが文句言うスレ

333:デフォルトの名無しさん
20/04/28 04:09:27 lOCVF0xa.net
酷いアスペを見た

334:デフォルトの名無しさん
20/04/28 04:11:48 uDpqz1hl.net
>>324
減った?

335:デフォルトの名無しさん
20/04/28 04:29:18 ayTn4wb+.net
>>294のワード効きすぎだろ
何がそんなに刺さったんだ?
実際は1人が騒いでるだけか??

336:デフォルトの名無しさん
20/04/28 04:53:50 4kUhwH6S.net
スレへのヘイトになってるからねえ
死ねよ自己中

337:デフォルトの名無しさん
20/04/28 04:55:48 4kUhwH6S.net
>>294
こいつだけは絶対に許さない
2chの兵力あげてぶっ潰す

338:デフォルトの名無しさん
20/04/28 05:02:44.84 WLGi8zNs.net
執念やば

339:デフォルトの名無しさん
20/04/28 05:04:21 XMwGDU9f.net
そしてキモ

340:デフォルトの名無しさん
20/04/28 05:17:51 xTCZFQnU.net
とうしつこはい…

341:デフォルトの名無しさん
20/04/28 05:58:30 0ndGBSxH.net
疑問があったら聞けばいいのに

342:デフォルトの名無しさん
20/04/28 06:47:24.12 6K6MgdzD.net
自然科学 + グラフ理論 + 手書き作業 = アルゴリズム

343:デフォルトの名無しさん
20/04/28 06:58:04 cTXOkUEK.net
単振り子のアルゴリズムなんて運動方程式解くだけだろ
近似すれば高校生でも解ける

344:デフォルトの名無しさん
20/04/28 06:58:48 9sR0wNPf.net
アルゴリズムを勉強するスレでもないし
アルゴリズムを競うスレでもない

345:デフォルトの名無しさん
20/04/28 06:59:56 9sR0wNPf.net
>>334
振り子の運動方程式を解くのは非常に難しい

346:デフォルトの名無しさん
20/04/28 07:01:29.73 cTXOkUEK.net
>>336
中学生か?
それとも日本語初心者か?

347:デフォルトの名無しさん
20/04/28 07:03:30.32 9sR0wNPf.net
運動方程式を解く
の意味がわかってないアホ

348:デフォルトの名無しさん
20/04/28 07:04:23.62 cTXOkUEK.net
振幅が小さい時は簡単に微分方程式解けるだろ
日本語が読めないアホ

349:デフォルトの名無しさん
20/04/28 07:05:19.37 9sR0wNPf.net
近似にしても
±90度振れる振り子を近似するのは高校生には出来ない

350:デフォルトの名無しさん
20/04/28 07:05:41.36 9sR0wNPf.net
>>339
条件の後付け

351:デフォルトの名無しさん
20/04/28 07:06:24.06 cTXOkUEK.net
>>334「近似すれば高校生でも解ける」
後付けじゃねえよ。最初から言ってるわ
死ねよ

352:デフォルトの名無しさん
20/04/28 07:06:58.86 9sR0wNPf.net
振幅が小さいとき

353:デフォルトの名無しさん
20/04/28 07:07:14.65 cTXOkUEK.net
単振り子の微分方程式解くときに他にどんな近似するっていうんだ
真面目に精神障害者だろコイツ

354:デフォルトの名無しさん
20/04/28 07:09:17.81 9sR0wNPf.net
>>344
それしか知らないのに簡単とか言うな

355:デフォルトの名無しさん
20/04/28 07:10:42.04 9sR0wNPf.net
解析的には解けない
シミュレーションに頼る
シミュレーションの精度を上げるにも技術がいる
一言で簡単とか言うアホは何もわかってない

356:デフォルトの名無しさん
20/04/28 07:10:47.87 cTXOkUEK.net
>>345
死ねよアホ
お前がアホだからこの程度すら簡単に思えないだけ
死ね

357:デフォルトの名無しさん
20/04/28 07:12:17 cTXOkUEK.net
自分が頭悪いの棚に上げていちゃもんつけられても困るわ

358:デフォルトの名無しさん
20/04/28 07:32:33.87 9sR0wNPf.net
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ
簡単だって言うならやってみて

359:デフォルトの名無しさん
20/04/28 07:37:31.08 9sR0wNPf.net
近似が高校で習う1通りしか無いと思ってる時点でアホだし
そもそも近似でしか解けない
「単振動近似なら高校生でも解ける」
これなら誰も反対しない

360:デフォルトの名無しさん
20/04/28 07:38:59.20 9sR0wNPf.net
お題
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ

361:デフォルトの名無しさん
20/04/28 07:43:14 cTXOkUEK.net
振り子の運動方程式解くときに近似って言われて振幅が小さい場合を想定できないのは障害者のお前くらいだわ

362:デフォルトの名無しさん
20/04/28 07:44:14 cTXOkUEK.net
>>351
社会の迷惑だからさっさと死んどけ

363:デフォルトの名無しさん
20/04/28 07:56:20.53 UKf6vnXk.net
>>293 Ruby
半加算器
URLリンク(ideone.com)
URLリンク(ideone.com)

364:デフォルトの名無しさん
20/04/28 07:57:37 6K6MgdzD.net
プログラマの99%はリコメンドしない情報盗人。俺調べ。

365:デフォルトの名無しさん
20/04/28 07:58:28 9sR0wNPf.net
そもそも
>>334の「近似すれば」は「高校生でも解ける」にしかかかってないし

366:デフォルトの名無しさん
20/04/28 07:59:19 9sR0wNPf.net
高校生で習う知識が全てと思ってしまう高校生レベルのアホ

367:デフォルトの名無しさん
20/04/28 13:50:52 EhAaIQLq.net
底辺ITドカタは気性が荒いなぁ

368:デフォルトの名無しさん
20/04/28 18:50:58 9sR0wNPf.net
ごめん

369:デフォルトの名無しさん
20/04/28 18:55:56 9sR0wNPf.net
これでもサラリーマンの年収の上位5%に入るんだ

370:◆QZaw55cn4c
20/04/28 18:58:28 cQuYXkHz.net
>>349
重力加速度を指定ください

371:デフォルトの名無しさん
20/04/28 19:02:43 9sR0wNPf.net
9.80665

372:デフォルトの名無しさん
20/04/28 19:31:55 KJ919r2x.net
数学の話になると毎度現れるアスペ君今日も来てて草
アスペが重度なのか数学コンプが重度なのか

373:デフォルトの名無しさん
20/04/28 19:43:22 yUYRMh3W.net
>>308
C 幅優先探索
URLリンク(ideone.com)

374:デフォルトの名無しさん
20/04/28 19:44:24 6K6MgdzD.net
>>293
全加算器
Step 12, Solution 3
0 : -1, -2: 0, 0, 0, 0, 1, 1, 1, 1 : 4
1 : -1, -2: 0, 0, 1, 1, 0, 0, 1, 1 : 4
2 : -1, -2: 0, 1, 0, 1, 0, 1, 0, 1 : 4
3 : 2, 1: 1, 1, 1, 0, 1, 1, 1, 0 : 6
4 : 3, 1: 1, 1, 0, 1, 1, 1, 0, 1 : 6
5 : 3, 2: 1, 0, 1, 1, 1, 0, 1, 1 : 6
6 : 5, 4: 0, 1, 1, 0, 0, 1, 1, 0 : 4
7 : 6, 0: 1, 1, 1, 1, 1, 0, 0, 1 : 6
8 : 7, 0: 1, 1, 1, 1, 0, 1, 1, 0 : 6
9 : 7, 3: 0, 0, 0, 1, 0, 1, 1, 1 : 4 *
10 : 7, 6: 1, 0, 0, 1, 1, 1, 1, 1 : 6
11 : 10, 8: 0, 1, 1, 0, 1, 0, 0, 1 : 4 *
他2

375:デフォルトの名無しさん
20/04/28 21:14:59.05 5Mrr6wN/.net
お題:CapsLock on/offを切り替えながら文字入力
[入力]
A B C S
A : Shiftキーを押さずに1文字入力するのにかかる時間
B : Shiftキーを押しながら1文字入力するのにかかる時間(※)
C : CapsLock on/offの切り替えにかかる時間
S : 入力する文字列(英字のみ)
※CapsLock onで小文字入力、CapsLock offで大文字入力にかかる時間をBとする
[出力]
初期状態をCapsLock offとしたとき、Sを入力するのにかかる時間の最小値を求めよ

(例1)
2 3 4 ABCDE
=> 14
CapsLockを使わない場合、3+3+3+3+3=15
CapsLockを使うと、(4)+2+2+2+2+2=14
(例2)
2 3 4 aBCDe
=> 13
CapsLockを使わない場合、2+3+3+3+2=13
2文字目以降CapsLock onの場合、2+(4)+2+2+2+3=15

376:デフォルトの名無しさん
20/04/29 01:24:53.33 W2Vd/2U1.net
>>364
そんな長いコードよく1日でかけたな

377:デフォルトの名無しさん
20/04/29 02:08:45.13 hFx8dHat.net
つられて開いたら、そんなに長くなかった

378:デフォルトの名無しさん
20/04/29 02:11:21 hFx8dHat.net
モレも若い頃、力ずくの実装


379:でこう言ふコード書いていた時期があった希ガス 遠い目



380:デフォルトの名無しさん
20/04/29 02:17:11 7u9sxpAB.net
プログラマってプライド高いからすぐに張り合うよねw

381:デフォルトの名無しさん
20/04/29 02:21:44 MMtCgKFX.net
誰も張り合っていないが

382:デフォルトの名無しさん
20/04/29 02:22:31 IXK0ODva.net
子どもみたい

383:デフォルトの名無しさん
20/04/29 02:25:50 HpBd3h/I.net
大人とは何か

384:デフォルトの名無しさん
20/04/29 02:27:25.42 IXK0ODva.net
冗談だから間に受けなくていいよ。

385:デフォルトの名無しさん
20/04/29 02:28:27.81 HpBd3h/I.net
大人とは酒、タバコ、Unix

386:デフォルトの名無しさん
20/04/29 02:29:29.28 C2sNF63S.net
>>374
うざいからよそでやれ

387:デフォルトの名無しさん
20/04/29 02:29:46.63 sgNXZLgj.net
うん。で?

388:デフォルトの名無しさん
20/04/29 02:30:51.12 gC4oizq8.net
>>375
うざいからよそでやれ

389:デフォルトの名無しさん
20/04/29 02:33:29.03 YwwSpjL1.net
餌をあげないでください。

390:デフォルトの名無しさん
20/04/29 02:33:56.37 b7RiChMO.net
>>379
うざいからよそでやれ

391:デフォルトの名無しさん
20/04/29 02:35:59.66 nrbD9/Mw.net
>>380
あなたにとってうざいことは、みな歓迎しています

392:デフォルトの名無しさん
20/04/29 02:36:09.16 CXgZ7sKW.net
>>369
そうなんだおじさん「そうなんだ」

393:デフォルトの名無しさん
20/04/29 02:37:10.95 hZe4L1sV.net
いやいや全然違います

394:デフォルトの名無しさん
20/04/29 02:38:46.06 pkOZSJYa.net
いいえ全然違いません

395:デフォルトの名無しさん
20/04/29 02:39:10.87 OQU5gELq.net
くだらねぇーw

396:デフォルトの名無しさん
20/04/29 02:40:49.50 tOnjZeuD.net
くだらないことは何度も

397:デフォルトの名無しさん
20/04/29 02:41:29.87 OQU5gELq.net
うん。で?

398:デフォルトの名無しさん
20/04/29 02:41:55.06 i/nVZZDh.net
うざいからよそでやれ

399:デフォルトの名無しさん
20/04/29 02:43:06.43 OQU5gELq.net
│    _、_
│  ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ。
│ へノ   /
└→ ω ノ
      >

400:デフォルトの名無しさん
20/04/29 02:43:16.68 JIRRi7ju.net
おじさんはここがいいです。

401:デフォルトの名無しさん
20/04/29 02:44:14.14 Fecc9l/8.net
くだらねーw

402:デフォルトの名無しさん
20/04/29 02:44:35.49 OQU5gELq.net
逝ってよし

403:デフォルトの名無しさん
20/04/29 02:45:11.17 73PkxB6e.net
おじさんはよそに行きましょうね

404:デフォルトの名無しさん
20/04/29 02:45:55 OQU5gELq.net
↓少し下でID変えて書くはず
逝ってよし

405:デフォルトの名無しさん
20/04/29 02:46:12 mcZoq7mu.net
くだらねーw

406:デフォルトの名無しさん
20/04/29 02:47:10 XlBNFPbk.net
逝ってよし

407:デフォルトの名無しさん
20/04/29 02:47:46 OQU5gELq.net
ktkr

408:デフォルトの名無しさん
20/04/29 02:48:03 QCxNpmbM.net
くだらねーw

409:デフォルトの名無しさん
20/04/29 02:49:03 P4G9hJZv.net
律儀だなお前

410:デフォルトの名無しさん
20/04/29 02:50:36 WGhV7jsx.net
おじいちゃんの唐突な自分語りワロタ

411:デフォルトの名無しさん
20/04/29 02:50:44 189Zc0ZE.net
>>398 ご褒美あげるよ
URLリンク(www.google.co.jp)

412:デフォルトの名無しさん
20/04/29 02:53:16.11 189Zc0ZE.net
>>400
お前も、ご褒美、欲しい?

413:デフォルトの名無しさん
20/04/29 02:54:44 189Zc0ZE.net
やっぱ、お前には、あーげない。

414:デフォルトの名無しさん
20/04/29 02:57:53 189Zc0ZE.net
なぜこの程度で、黙る?

415:デフォルトの名無しさん
20/04/29 02:59:48.25 189Zc0ZE.net
かわいそうなことをしてしまったかな…

416:デフォルトの名無しさん
20/04/29 03:13:10 VGrmX9xw.net
ご褒美にどうせ貼るならこっちだろ
URLリンク(www.google.co.jp)

417:デフォルトの名無しさん
20/04/29 03:14:48 VGrmX9xw.net
いやいやこっち
URLリンク(www.google.co.jp)

418:289
20/04/29 07:47:59 h4pVS5Or.net
>>286 Ruby
URLリンク(ideone.com)
主な処理をテーブルで済ませて高速化
ideone の時間制限内に完走できた

419:デフォルトの名無しさん
20/04/29 09:28:47


420:.04 ID:7z7Xd+nS.net



421:デフォルトの名無しさん
20/04/29 09:42:47.46 v+B1NZPE.net
>>308
2番目の例impossibleじゃなくて S -> 3 -> Gじゃないの?って思ったら入力1行目はH Wだった

422:デフォルトの名無しさん
20/04/29 16:10:16.80 HpBd3h/I.net
>>271
Java
URLリンク(paiza.io)

423:デフォルトの名無しさん
20/04/29 21:05:32 HpBd3h/I.net
>>234
Java
URLリンク(paiza.io)

424:デフォルトの名無しさん
20/04/30 06:48:30 2MGLj+B4.net
>>293
4入力セレクタ

digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_6 ; aa_1_1, aa_1_1 -> aa_1_7 ; aa_1_3, aa_1_1 -> aa_1_8 ;
aa_1_5, aa_1_1 -> aa_1_9 ; aa_1_7, aa_1_2 -> aa_1_10 ; aa_1_7, aa_1_4 -> aa_1_11 ;
aa_1_10, aa_1_8 -> aa_1_12 ; aa_1_11, aa_1_9 -> aa_1_13 ; aa_1_12, aa_1_6 -> aa_1_14 ;
aa_1_13, aa_1_0 -> aa_1_15 ; aa_1_15, aa_1_14 -> aa_1_16 ;
}
}

425:289
20/04/30 07:15:11 SPWNNB7s.net
>>286 Ruby
URLリンク(ideone.com)
2pass化 25%ほど高速化

426:デフォルトの名無しさん
20/05/01 05:08:54.81 GhPTuZah.net
>>286
EXNORはちょっとおもしろい。
Step 7, Solution 1
0 : -1, -2: 0, 0, 1, 1 : 2
1 : -1, -2: 0, 1, 0, 1 : 2
2 : 0, 0: 1, 1, 0, 0 : 2
3 : 1, 0: 1, 1, 1, 0 : 3
4 : 1, 1: 1, 0, 1, 0 : 2
5 : 4, 2: 0, 1, 1, 1 : 3
6 : 5, 3: 1, 0, 0, 1 : 2 *

427:デフォルトの名無しさん
20/05/01 05:42:45 VWVnAecH.net
お題: 関数とパイプを実装せよ
以下のような文字列をパースし、パイプに繋げながら関数を実行せよ
標準入力と標準出力の代わりにバッファを使って実装すること

in < "hello"
out > hello

in < "hello | world"
out > helloworld

in < "world | hello"
out > worldhello

in < "hello | upper"
out > HELLO

in < "hello | world | upper"
out > HELLOWORLD

428:デフォルトの名無しさん
20/05/01 06:02:49 +MJaN8j/.net
>>416
hello | upperはhelloupperだろ

429:289
20/05/01 07:03:56 bMo1YMx1.net
>>286 Ruby
URLリンク(ideone.com)
一度に 4bit計算 40%ほど高速化

430:デフォルトの名無しさん
20/05/01 07:11:29.45 VWVnAecH.net
>>417
upperはバッファを大文字にする関数

431:デフォルトの名無しさん
20/05/01 07:20:48.70 kd4VrQns.net
いや、存在する関数を全部定義しないと実装なんてできんやん
突っ込まれて思わなかったの?

432:デフォルトの名無しさん
20/05/01 07:55:56.05 VWVnAecH.net
hello, world, upperだけ実装すればいいのでは

433:デフォルトの名無しさん
20/05/01 08:08:25 VWVnAecH.net
みんな真面目だなw

434:デフォルトの名無しさん
20/05/01 08:25:09 VWVnAecH.net
>>416 書き直し

お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ
標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する
関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること
例えば入力されるコマンドラインは

in < hello
in < hello | world


435: in < hello | world | upper in < world | hello in < world | hello | upper のようになる hello関数はバッファに文字列「hello」を追加し、world関数はバッファに文字列「wolrd」を追加し、upperはバッファ内の文字列を大文字にする関数である よって最終的なコマンドラインの出力は in < hello out > hello in < hello | world out > helloworld in < hello | world | upper out > HELLOWORLD in < world | upper | hello out > WORLDhello のようになる



436:デフォルトの名無しさん
20/05/01 08:29:55 R0k5e7Mk.net
hello world それぞれを改行無しの printf などで出力し
upper は大きくするだけか

437:デフォルトの名無しさん
20/05/01 08:34:39 VWVnAecH.net
>>424
バッファを使わずに標準入出力だけで実装できるならそれでもいいです

438:デフォルトの名無しさん
20/05/01 11:04:14 MCEzZFz/.net
Ruby には、まさに文字列(バッファ)に、IO インタフェースを実装したクラス、StringIO がある!

439:デフォルトの名無しさん
20/05/01 11:29:05 TOWtsDG5.net
>>423 Ruby
$><<$_.split(' | ').reduce(''){|s,e|[s.upcase,s+e][e.ord%-3]}while gets


-*- input -*-
hello
hello | world
hello | world | upper
world | hello
world | hello | upper

-*- output -*-
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO

440:デフォルトの名無しさん
20/05/02 23:08:15 MMgV24Hu.net
>>423
Java
URLリンク(paiza.io)

441:デフォルトの名無しさん
20/05/03 01:19:30.67 SFv1ny6W.net
>>423 Perl5, 要求仕様通り素直に三つの関数を定義し、文字列をparseした単語の関数名を呼び出す形で実装
sub hello { $o .= 'hello' }
sub world { $o .= 'world' }
sub upper { $o = uc $o }
for (<DATA>) {
 $o = '';
 &$_ for /(\w+)/g;
 print "$o\n";
}
__DATA__
hello
hello | world
hello | world | upper
world | hello
world | hello | upper
world | upper | hello

実行結果
~ $ perl 17_423_hello_world_upperl.pl
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO
WORLDhello

442:289
20/05/03 07:15:48.78 E6IlR6fn.net
>>286 Ruby
URLリンク(ideone.com)
枝刈りを強化 38%ほど高速化

443:デフォルトの名無しさん
20/05/03 09:17:11 n5Gy3ytY.net
>>427
world | upper | hello


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1505日前に更新/264 KB
担当:undef