プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part17
https://mevius.5ch.net/test/read.cgi/tech/1584031367/
プログラミングのお題スレ Part18
■ このスレッドは過去ログ倉庫に格納されています
2020/07/14(火) 13:53:46.47ID:jW5p6F/e
606デフォルトの名無しさん
2020/10/01(木) 11:20:33.49ID:iee67Noq >>605
Haskell
astr m n = "A(" ++ m ++ "," ++ n ++ ")"
ack' 0 n = (n+1, [astr (show 0) (show n), (show $ n+1)])
ack' m 0 = let
(val, ss) = ack' (m-1) 1
in (val, (astr (show m) (show 0)) : ss)
ack' m n = let
(val1, ss1) = ack' m (n-1)
(val2, ss2) = ack' (m-1) val1
ss = [astr (show $ m-1) s | s <-ss1] ++ (tail ss2)
in (val2, (astr (show m) (show n)):ss)
ack m n = map (++"\n") $ snd $ ack' m n
main = do
[x,y]<-(return.(map read).words)=<<getLine
mapM_ putStr $ ack x y
Haskell
astr m n = "A(" ++ m ++ "," ++ n ++ ")"
ack' 0 n = (n+1, [astr (show 0) (show n), (show $ n+1)])
ack' m 0 = let
(val, ss) = ack' (m-1) 1
in (val, (astr (show m) (show 0)) : ss)
ack' m n = let
(val1, ss1) = ack' m (n-1)
(val2, ss2) = ack' (m-1) val1
ss = [astr (show $ m-1) s | s <-ss1] ++ (tail ss2)
in (val2, (astr (show m) (show n)):ss)
ack m n = map (++"\n") $ snd $ ack' m n
main = do
[x,y]<-(return.(map read).words)=<<getLine
mapM_ putStr $ ack x y
607デフォルトの名無しさん
2020/10/01(木) 12:09:11.51ID:OaA9a4hN Haskellでもこんな長くなるの?
608デフォルトの名無しさん
2020/10/01(木) 12:15:24.40ID:O+PWz9pR609デフォルトの名無しさん
2020/10/01(木) 14:04:34.18ID:Am+nhG+G >>606
ちょっとチューンナップ
達人なら***とか>>>とか意味わからん演算子使ってもっとスッキリ書くんだろうけどアホほどあって使いこなせんorz
haskell
----
astr m s = "A(" ++ (show m) ++ "," ++ s ++ ")"
ack 0 n = [astr 0 $ show n, show $ n+1]
ack m 0 = (astr m $ show 0) : ack (m-1) 1
ack m n = let
ss1 = ack m (n-1)
in [astr m $ show n]
++ (map (astr (m-1)) ss1)
++ (tail $ ack (m-1) (read $ last ss1))
main = do
[x,y]<-(return.(map read).words)=<<getLine
mapM_ ((putStr).(++"\n")) $ ack x y
ちょっとチューンナップ
達人なら***とか>>>とか意味わからん演算子使ってもっとスッキリ書くんだろうけどアホほどあって使いこなせんorz
haskell
----
astr m s = "A(" ++ (show m) ++ "," ++ s ++ ")"
ack 0 n = [astr 0 $ show n, show $ n+1]
ack m 0 = (astr m $ show 0) : ack (m-1) 1
ack m n = let
ss1 = ack m (n-1)
in [astr m $ show n]
++ (map (astr (m-1)) ss1)
++ (tail $ ack (m-1) (read $ last ss1))
main = do
[x,y]<-(return.(map read).words)=<<getLine
mapM_ ((putStr).(++"\n")) $ ack x y
610蟻人間 ◆T6xkBnTXz7B0
2020/10/02(金) 19:50:35.06ID:gQLwfaGp お題: 野球のボールの動きを物理シミュレートして、ピッチャーの投げてきたボールをより遠くにかっ飛ばすバッターAIを開発せよ。
611デフォルトの名無しさん
2020/10/02(金) 20:54:50.29ID:tP403VLl カーブやシュートも再現しろよ
612253
2020/10/02(金) 21:41:56.95ID:kl4hmyt8 >>610
─┼─┐─┼─ / ,. `゙''‐、_\ | / /
│ │─┼─/| _,.イ,,.ィ' ─────‐‐‐ * ←>>蟻人間
│ |ツ │ | | | イン /´⌒`ヽ // | \
{, リ) / ./ | \
__ /}从、 リ( / / |
,. ,. -‐===‐- `つ/ ,.イ ’^ソハノリ / ∵|:・.
〃〃〃〃 //ミノ__ /´ /∴・|∵’
ヽ_I__I__I__I__I_I __ノ_/ / ヽミ、、 .∵.;|∵’:;
ー{____,,二二二ニ) ノΘ(__ ) ゙ 、∵.;|∵’,
/I I I I I I .^^^' \ !  ̄フ ゙ 、 |∴
ソ / `
ノ⌒ヽ')
/ ノ/ /
/\/ ∧/ / ',
/ / ノ./ ./ ',
ノ/ ヘ__、 ./ / ̄ ̄ ̄ヽ .',
ヘ_'_, / \ / ',
/ \/ ',
゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙ ゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙
─┼─┐─┼─ / ,. `゙''‐、_\ | / /
│ │─┼─/| _,.イ,,.ィ' ─────‐‐‐ * ←>>蟻人間
│ |ツ │ | | | イン /´⌒`ヽ // | \
{, リ) / ./ | \
__ /}从、 リ( / / |
,. ,. -‐===‐- `つ/ ,.イ ’^ソハノリ / ∵|:・.
〃〃〃〃 //ミノ__ /´ /∴・|∵’
ヽ_I__I__I__I__I_I __ノ_/ / ヽミ、、 .∵.;|∵’:;
ー{____,,二二二ニ) ノΘ(__ ) ゙ 、∵.;|∵’,
/I I I I I I .^^^' \ !  ̄フ ゙ 、 |∴
ソ / `
ノ⌒ヽ')
/ ノ/ /
/\/ ∧/ / ',
/ / ノ./ ./ ',
ノ/ ヘ__、 ./ / ̄ ̄ ̄ヽ .',
ヘ_'_, / \ / ',
/ \/ ',
゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙ ゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙゙
613デフォルトの名無しさん
2020/10/02(金) 21:46:15.88ID:JDxjQVnw ナイス
614デフォルトの名無しさん
2020/10/02(金) 22:04:39.76ID:jsz+6t1Q >>612
くっそワロタ
くっそワロタ
615253
2020/10/03(土) 01:10:19.52ID:io8Ij0O0 >>605 Perl5
use feature qw{signatures say}; no warnings 'experimental';
sub A($m, $n, $l, $r) {
say "${l}A($m, $n)$r";
$m ? $n
? A($m-1, A($m, $n-1, "${l}A(".($m-1).', ', ")$r"), "${l}A(".$m.', ', ")$r")
: A($m-1, 1, "${l}A(".($m-1).', ', ")$r") : $n + 1;
}
say A(2, 1, '', '');
実行結果
~ $ perl 18_605_Ackermann_func.pl
A(2, 1)
A(1, A(2, 0))
A(1, A(1, A(1, 1)))
A(1, A(1, A(0, A(1, 0))))
A(1, A(1, A(0, A(0, A(0, 1)))))
A(1, A(1, A(1, A(0, 2))))
A(2, A(1, 3))
A(2, A(0, A(1, 2)))
A(2, A(0, A(0, A(1, 1))))
A(2, A(0, A(0, A(0, A(1, 0)))))
A(2, A(0, A(0, A(0, A(0, A(0, 1))))))
A(2, A(0, A(0, A(1, A(0, 2)))))
A(2, A(0, A(1, A(0, 3))))
A(2, A(1, A(0, 4)))
5
use feature qw{signatures say}; no warnings 'experimental';
sub A($m, $n, $l, $r) {
say "${l}A($m, $n)$r";
$m ? $n
? A($m-1, A($m, $n-1, "${l}A(".($m-1).', ', ")$r"), "${l}A(".$m.', ', ")$r")
: A($m-1, 1, "${l}A(".($m-1).', ', ")$r") : $n + 1;
}
say A(2, 1, '', '');
実行結果
~ $ perl 18_605_Ackermann_func.pl
A(2, 1)
A(1, A(2, 0))
A(1, A(1, A(1, 1)))
A(1, A(1, A(0, A(1, 0))))
A(1, A(1, A(0, A(0, A(0, 1)))))
A(1, A(1, A(1, A(0, 2))))
A(2, A(1, 3))
A(2, A(0, A(1, 2)))
A(2, A(0, A(0, A(1, 1))))
A(2, A(0, A(0, A(0, A(1, 0)))))
A(2, A(0, A(0, A(0, A(0, A(0, 1))))))
A(2, A(0, A(0, A(1, A(0, 2)))))
A(2, A(0, A(1, A(0, 3))))
A(2, A(1, A(0, 4)))
5
616253
2020/10/03(土) 01:13:51.37ID:io8Ij0O0 なんかBugってる…orz
617デフォルトの名無しさん
2020/10/03(土) 12:07:42.48ID:xbar0BlH618デフォルトの名無しさん
2020/10/03(土) 12:20:08.70ID:nr2+4P+J perlの正規表現マジック恐ろしや
619デフォルトの名無しさん
2020/10/03(土) 12:37:17.41ID:MOu6VxbM620デフォルトの名無しさん
2020/10/03(土) 12:46:20.34ID:ul2MWjNf そうなのよね
入力もらって表示→ワンステップだけ展開して戻る
の繰り返しが1番楽なんだけどなぁ
入力もらって表示→ワンステップだけ展開して戻る
の繰り返しが1番楽なんだけどなぁ
621253
2020/10/03(土) 14:01:25.06ID:5WkJC33J >>605 Perl5、>>615 を修正。 >>617 あら正規表現で書けちゃうのかイナ…
use feature qw{signatures say}; no warnings 'experimental';
sub A($m, $n) {
$m ? $n
? do{ my ($m2, $n2) = ($m-1, $n-1);
push @$l, "A($m2, "; push @$r, ')';
say @$l, "A($m, $n2)", @$r; A($m2, A($m, $n2)) }
: do{ my ($m2, $n2) = ($m-1, 1);
say @$l, "A($m2, $n2)", @$r; A($m2, $n2)}
: do{ my $s = $n + 1; say @$l, $s, @$r; pop @$l; pop @$r; $s };
}
($m, $n) = (2, 1);
say "A($m, $n)";
A($m, $n);
実行結果
$ perl 18_605_Ackermann_func.pl
A(2, 1)
A(1, A(2, 0))
A(1, A(1, 1))
A(1, A(0, A(1, 0)))
A(1, A(0, A(0, 1)))
A(1, A(0, 2))
A(1, 3)
A(0, A(1, 2))
A(0, A(0, A(1, 1)))
A(0, A(0, A(0, A(1, 0))))
A(0, A(0, A(0, A(0, 1))))
A(0, A(0, A(0, 2)))
A(0, A(0, 3))
A(0, 4)
5
use feature qw{signatures say}; no warnings 'experimental';
sub A($m, $n) {
$m ? $n
? do{ my ($m2, $n2) = ($m-1, $n-1);
push @$l, "A($m2, "; push @$r, ')';
say @$l, "A($m, $n2)", @$r; A($m2, A($m, $n2)) }
: do{ my ($m2, $n2) = ($m-1, 1);
say @$l, "A($m2, $n2)", @$r; A($m2, $n2)}
: do{ my $s = $n + 1; say @$l, $s, @$r; pop @$l; pop @$r; $s };
}
($m, $n) = (2, 1);
say "A($m, $n)";
A($m, $n);
実行結果
$ perl 18_605_Ackermann_func.pl
A(2, 1)
A(1, A(2, 0))
A(1, A(1, 1))
A(1, A(0, A(1, 0)))
A(1, A(0, A(0, 1)))
A(1, A(0, 2))
A(1, 3)
A(0, A(1, 2))
A(0, A(0, A(1, 1)))
A(0, A(0, A(0, A(1, 0))))
A(0, A(0, A(0, A(0, 1))))
A(0, A(0, A(0, 2)))
A(0, A(0, 3))
A(0, 4)
5
622デフォルトの名無しさん
2020/10/03(土) 18:00:38.18ID:WWjeAKvH >>605 ocaml
https://ideone.com/dqTO60
let (>>) f g x = g (f x)
let rec a m n p =
let () = p (Printf.sprintf "A(%d, %d)" m n) in
if m = 0 then n + 1
else if n = 0 then a (m - 1) 1 p
else a (m - 1) (a m (n - 1) (Printf.sprintf "A(%d, %s)" (m - 1) >> p)) p
let () = print_int (a 2 1 print_endline)
↓
A(2, 1)
A(1, A(2, 0))
A(1, A(1, 1))
A(1, A(0, A(1, 0)))
A(1, A(0, A(0, 1)))
A(1, A(0, 2))
A(1, 3)
A(0, A(1, 2))
A(0, A(0, A(1, 1)))
A(0, A(0, A(0, A(1, 0))))
A(0, A(0, A(0, A(0, 1))))
A(0, A(0, A(0, 2)))
A(0, A(0, 3))
A(0, 4)
5
https://ideone.com/dqTO60
let (>>) f g x = g (f x)
let rec a m n p =
let () = p (Printf.sprintf "A(%d, %d)" m n) in
if m = 0 then n + 1
else if n = 0 then a (m - 1) 1 p
else a (m - 1) (a m (n - 1) (Printf.sprintf "A(%d, %s)" (m - 1) >> p)) p
let () = print_int (a 2 1 print_endline)
↓
A(2, 1)
A(1, A(2, 0))
A(1, A(1, 1))
A(1, A(0, A(1, 0)))
A(1, A(0, A(0, 1)))
A(1, A(0, 2))
A(1, 3)
A(0, A(1, 2))
A(0, A(0, A(1, 1)))
A(0, A(0, A(0, A(1, 0))))
A(0, A(0, A(0, A(0, 1))))
A(0, A(0, A(0, 2)))
A(0, A(0, 3))
A(0, 4)
5
623デフォルトの名無しさん
2020/10/07(水) 20:33:26.90ID:0TsEuxhN >>605 octave
https://ideone.com/50i12U
function c = a(m, n, p)
p(sprintf('A(%d, %d)', m, n));
if m == 0
c = n + 1;
elseif n == 0
c = a(m - 1, 1, p);
else
c = a(m - 1, a(m, n - 1, @(s) p(sprintf('A(%d, %s)', m - 1, s))), p);
end
end
disp(a(2, 1, @disp));
https://ideone.com/50i12U
function c = a(m, n, p)
p(sprintf('A(%d, %d)', m, n));
if m == 0
c = n + 1;
elseif n == 0
c = a(m - 1, 1, p);
else
c = a(m - 1, a(m, n - 1, @(s) p(sprintf('A(%d, %s)', m - 1, s))), p);
end
end
disp(a(2, 1, @disp));
624253
2020/10/08(木) 02:27:24.66ID:Gy7CYzaJ 藻前ら、なかなかやるなー
気に入った。
気に入った。
625蟻人間 ◆T6xkBnTXz7B0
2020/10/08(木) 13:59:34.65ID:N89hoMl4 お題: ax**2+b*x+c==0という形の二次方程式を解き、全ての実数解と実数解の個数を表示する。
626デフォルトの名無しさん
2020/10/08(木) 15:03:23.36ID:eK30Q5Ei 実数解はルートを含んだ形でいいのか?
あるいは小数点以下何桁まで正確に求めるのか?
あるいは小数点以下何桁まで正確に求めるのか?
628デフォルトの名無しさん
2020/10/08(木) 21:36:29.64ID:Q4ykcHSC >>624
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
| | |
(__)_)
629蟻人間 ◆T6xkBnTXz7B0
2020/10/09(金) 13:26:20.64ID:pUAVGuih お題:計算ができる文章テンプレートを実装し、つるかめ算を自動生成せよ。
文章テンプレートの例:
「ツルとカメが合わせて{$(ツルの数)+$(カメの数)}います。
足の合計本数が{$(ツルの数)*2+$(カメの数)*4}本です。
カメは何匹いますか。」
変数は「$(変数名)」のように表し、その具体的な値は入力として与えられる。
計算式は{ }で囲って表す。
計算式は変数や定数、加減乗除の演算子、または丸カッコを含むことができる。
入力の例:「ツルの数=3, カメの数=4」
文章テンプレートの例:
「ツルとカメが合わせて{$(ツルの数)+$(カメの数)}います。
足の合計本数が{$(ツルの数)*2+$(カメの数)*4}本です。
カメは何匹いますか。」
変数は「$(変数名)」のように表し、その具体的な値は入力として与えられる。
計算式は{ }で囲って表す。
計算式は変数や定数、加減乗除の演算子、または丸カッコを含むことができる。
入力の例:「ツルの数=3, カメの数=4」
630デフォルトの名無しさん
2020/10/09(金) 14:02:14.80ID:/NdRCF04 >>625 js
function quadraticWithCount(a, b, c) {
const inSqrt = b ** 2 - 4 * a * c
if (inSqrt < 0) return [[], 0]
const l = - b / (a * 2)
if (inSqrt === 0) return [[l], 1]
const r = Math.sqrt(inSqrt) / (a * 2)
return [[l - r, l + r], 2]
}
console.log(quadraticWithCount(3, -2, -1))
console.log(quadraticWithCount(3, 6, 3))
console.log(quadraticWithCount(1, 2, 3))
// [ [ -0.3333333333333333, 1 ], 2 ]
// [ [ -1 ], 1 ]
// [ [], 0 ]
function quadraticWithCount(a, b, c) {
const inSqrt = b ** 2 - 4 * a * c
if (inSqrt < 0) return [[], 0]
const l = - b / (a * 2)
if (inSqrt === 0) return [[l], 1]
const r = Math.sqrt(inSqrt) / (a * 2)
return [[l - r, l + r], 2]
}
console.log(quadraticWithCount(3, -2, -1))
console.log(quadraticWithCount(3, 6, 3))
console.log(quadraticWithCount(1, 2, 3))
// [ [ -0.3333333333333333, 1 ], 2 ]
// [ [ -1 ], 1 ]
// [ [], 0 ]
632デフォルトの名無しさん
2020/10/09(金) 14:14:59.57ID:/NdRCF04 >>625 js 改善
function quadratic(a, b, c) {
const rt = Math.sqrt(b ** 2 - 4 * a * c)
return [(-b + rt) / (2 * a), (-b - rt) / (2 * a)]
}
function quadraticReal(...abc) {
const ans = quadratic(...abc)
const [a1, a2] = ans
if (isNaN(a1)) return []
if (a1 === a2) return [a1]
return ans
}
const quadraticRealWithCount = (...abc) => addCount(quadraticReal(...abc))
const addCount = a => [a, a.length]
console.log(quadraticRealWithCount(3, -2, -1))
// [ [ 1, -0.3333333333333333 ], 2 ]
console.log(quadraticRealWithCount(3, 6, 3))
// [ [ -1 ], 1 ]
console.log(quadraticRealWithCount(1, 2, 3))
// [ [], 0 ]
function quadratic(a, b, c) {
const rt = Math.sqrt(b ** 2 - 4 * a * c)
return [(-b + rt) / (2 * a), (-b - rt) / (2 * a)]
}
function quadraticReal(...abc) {
const ans = quadratic(...abc)
const [a1, a2] = ans
if (isNaN(a1)) return []
if (a1 === a2) return [a1]
return ans
}
const quadraticRealWithCount = (...abc) => addCount(quadraticReal(...abc))
const addCount = a => [a, a.length]
console.log(quadraticRealWithCount(3, -2, -1))
// [ [ 1, -0.3333333333333333 ], 2 ]
console.log(quadraticRealWithCount(3, 6, 3))
// [ [ -1 ], 1 ]
console.log(quadraticRealWithCount(1, 2, 3))
// [ [], 0 ]
633デフォルトの名無しさん
2020/10/09(金) 17:52:52.10ID:gniylpO4 >>629 Ruby
ツルの数 = 3
カメの数 = 4
Template =<<_EOT_
「ツルとカメが合わせて{$(ツルの数)+$(カメの数)}います。
足の合計本数が{$(ツルの数)*2+$(カメの数)*4}本です。
カメは何匹いますか。」
_EOT_
puts Template.gsub( /\{(.*?)\}/ ){ eval $1.gsub( /\$\((.*?)\)/ ){ $1 } }
ツルの数 = 3
カメの数 = 4
Template =<<_EOT_
「ツルとカメが合わせて{$(ツルの数)+$(カメの数)}います。
足の合計本数が{$(ツルの数)*2+$(カメの数)*4}本です。
カメは何匹いますか。」
_EOT_
puts Template.gsub( /\{(.*?)\}/ ){ eval $1.gsub( /\$\((.*?)\)/ ){ $1 } }
634253
2020/10/09(金) 22:43:14.04ID:/QeZd0d9 >>629 Perl5
use utf8;
no warnings 'utf8';
$ツルの数 = 3;
$カメの数 = 4;
print <<EOF
「ツルとカメが合わせて@{[${ツルの数}+${カメの数}]}います。
足の合計本数が@{[${ツルの数}*2+${カメの数}*4]}本です。
カメは何匹いますか。」
EOF
実行結果
~ $ perl 18_633_ツルの数+カメの数.pl
「ツルとカメが合わせて7います。
足の合計本数が22本です。
カメは何匹いますか。」
use utf8;
no warnings 'utf8';
$ツルの数 = 3;
$カメの数 = 4;
print <<EOF
「ツルとカメが合わせて@{[${ツルの数}+${カメの数}]}います。
足の合計本数が@{[${ツルの数}*2+${カメの数}*4]}本です。
カメは何匹いますか。」
EOF
実行結果
~ $ perl 18_633_ツルの数+カメの数.pl
「ツルとカメが合わせて7います。
足の合計本数が22本です。
カメは何匹いますか。」
635蟻人間 ◆T6xkBnTXz7B0
2020/10/09(金) 23:14:45.18ID:LR5flFjI お題: 2つのRGBカラーが#RRGGBB形式で与えられる(RRGGBBは六桁の十六進数とする)。
2つの中間色を#RRGGBB形式で出力せよ。
可能ならばこれら3つの色をカラーバーとして表示せよ。
2つの中間色を#RRGGBB形式で出力せよ。
可能ならばこれら3つの色をカラーバーとして表示せよ。
636蟻人間 ◆T6xkBnTXz7B0
2020/10/09(金) 23:26:06.11ID:LR5flFjI637デフォルトの名無しさん
2020/10/09(金) 23:55:14.23ID:ACx6TREf >>635,636
自明な入力例だけを示しても、出力例も出さないと意味ないだろう。
2色の中間色ってのが曖昧じゃね?
単にR,G,Bそれぞれの平均を取るだけなのか、赤と紫の中間が赤紫になるように循環する色相で中間をとるのかとか。
自明な入力例だけを示しても、出力例も出さないと意味ないだろう。
2色の中間色ってのが曖昧じゃね?
単にR,G,Bそれぞれの平均を取るだけなのか、赤と紫の中間が赤紫になるように循環する色相で中間をとるのかとか。
638デフォルトの名無しさん
2020/10/10(土) 02:56:37.74ID:KFXrJR76 問題が玉石混合だなぁ
639デフォルトの名無しさん
2020/10/10(土) 07:06:51.16ID:PdovQueR >>634
>変数は「$(変数名)」のように表し、
>変数は「$(変数名)」のように表し、
640デフォルトの名無しさん
2020/10/10(土) 07:45:17.48ID:nh4sk35x お題: 20201010と出力してください。ただしコードに使っていい数字は1のみです。
641デフォルトの名無しさん
2020/10/10(土) 08:25:49.31ID:qt6u2bFw642デフォルトの名無しさん
2020/10/10(土) 10:53:30.16ID:nh4sk35x >>640 自分で js
const t = `
`.charCodeAt()
console.log(t + t + "" + (t + t) + t + t)
const m = "ϲ".charCodeAt()
console.log(m + m + "" + m)
const t = `
`.charCodeAt()
console.log(t + t + "" + (t + t) + t + t)
const m = "ϲ".charCodeAt()
console.log(m + m + "" + m)
643デフォルトの名無しさん
2020/10/10(土) 12:06:27.17ID:0z4oJBva644デフォルトの名無しさん
2020/10/10(土) 14:54:47.61ID:iOujIiR/645デフォルトの名無しさん
2020/10/10(土) 14:57:00.84ID:iOujIiR/646デフォルトの名無しさん
2020/10/10(土) 15:40:40.94ID:Duwb5Fsi >>645
012にOIZ使うのセンスある
012にOIZ使うのセンスある
647デフォルトの名無しさん
2020/10/10(土) 18:37:22.80ID:jNM1f0U4648デフォルトの名無しさん
2020/10/10(土) 18:54:45.98ID:V01gi3BN >>647
Windowsでもそのままでいけるのか?
Windowsでもそのままでいけるのか?
649蟻人間 ◆T6xkBnTXz7B0
2020/10/10(土) 19:24:31.52ID:c6WyhNHP お題: 振動数1000Hzの音を1秒間発振せよ。
650デフォルトの名無しさん
2020/10/10(土) 19:32:24.80ID:53GLINoh651デフォルトの名無しさん
2020/10/10(土) 19:46:18.01ID:LCYuVeVr haskell
import Data.Maybe
main = print $ product $ map ((fromJust).(flip lookup (zip ['\t'..] [1..]))) "&myC"
import Data.Maybe
main = print $ product $ map ((fromJust).(flip lookup (zip ['\t'..] [1..]))) "&myC"
652デフォルトの名無しさん
2020/10/10(土) 21:44:48.33ID:0z4oJBva >>649 js
var ctx = new window.AudioContext
var osc = ctx.createOscillator()
osc.type = 'sine'
osc.frequency.value = 1000
osc.connect(ctx.destination)
osc.start()
osc.stop(1)
var ctx = new window.AudioContext
var osc = ctx.createOscillator()
osc.type = 'sine'
osc.frequency.value = 1000
osc.connect(ctx.destination)
osc.start()
osc.stop(1)
653デフォルトの名無しさん
2020/10/10(土) 23:07:21.98ID:t1LUP7rm >>640
haskell 改良
unicode = length . tail . (enumFromTo minBound)
main = print $ product $ map unicode "ാᝇ"
haskell 改良
unicode = length . tail . (enumFromTo minBound)
main = print $ product $ map unicode "ാᝇ"
654デフォルトの名無しさん
2020/10/10(土) 23:18:40.46ID:iOujIiR/655デフォルトの名無しさん
2020/10/11(日) 00:16:06.04ID:6GsmNhIZ >>640 JavaScript
[1+1,1-1,1+1,1-1,1,1-1,1,1-1].reduce((acc,n)=>acc+n,'')
[1+1,1-1,1+1,1-1,1,1-1,1,1-1].reduce((acc,n)=>acc+n,'')
656デフォルトの名無しさん
2020/10/11(日) 01:54:01.50ID:eYi6TEVp657デフォルトの名無しさん
2020/10/11(日) 08:58:57.96ID:luIvAMCe >>640 J
smoutput ,&":/ 'amp' i. 'papamama'
smoutput ,&":/ 'amp' i. 'papamama'
658デフォルトの名無しさん
2020/10/11(日) 11:20:41.53ID:eXVrSXVr >>640 bash
aa=1; bb=$((aa-aa)); cc=$aa$bb$aa$bb; printf "%d" $((cc+cc)) $cc; echo
aa=1; bb=$((aa-aa)); cc=$aa$bb$aa$bb; printf "%d" $((cc+cc)) $cc; echo
659デフォルトの名無しさん
2020/10/11(日) 17:59:24.67ID:/6XslNRS660デフォルトの名無しさん
2020/10/11(日) 18:12:54.16ID:eYi6TEVp661デフォルトの名無しさん
2020/10/11(日) 19:16:59.76ID:/6XslNRS >>635
Kotlin
https://paiza.io/projects/O1eUwROYKRQepDq3N-VyUA
paiza.io はHTMLで出力させてブラウザに表示できるのでカラーバーも出してみました。
Kotlin
https://paiza.io/projects/O1eUwROYKRQepDq3N-VyUA
paiza.io はHTMLで出力させてブラウザに表示できるのでカラーバーも出してみました。
662デフォルトの名無しさん
2020/10/11(日) 19:36:20.38ID:eYi6TEVp これは良いこと聞いた
663デフォルトの名無しさん
2020/10/11(日) 19:48:34.94ID:ki6dTuuo664デフォルトの名無しさん
2020/10/11(日) 20:05:13.72ID:FQjAt+Dq >>663
かわいい
かわいい
665デフォルトの名無しさん
2020/10/11(日) 20:30:57.80ID:vt3DXswM667蟻人間 ◆T6xkBnTXz7B0
2020/10/11(日) 23:57:26.40ID:4cQ/GxGI お題: 整数0〜10の一様分布の乱数を百回発生させて、その統計結果を基に各整数を横軸、回数を縦軸とする棒グラフ(ヒストグラム)を描画し(棒の最大幅32字)、ほぼ一様であることを確かめなさい。
668デフォルトの名無しさん
2020/10/11(日) 23:59:14.77ID:B+MSoWxK paiza.io は、text, html, json で出力できるのか
html も、部分的なタグだけを書いても動くのか
html も、部分的なタグだけを書いても動くのか
669蟻人間 ◆T6xkBnTXz7B0
2020/10/12(月) 00:01:01.03ID:rx5xRSFU670デフォルトの名無しさん
2020/10/12(月) 01:06:07.97ID:eqKg5iqj haskell
import Data.List
import System.Random
trial records = do
x <- randomRIO (0, 1) :: IO Double
return $ (truncate $ x * 11) : records
experience = iterate (>>= trial) (return [0..10])
showrecord (x,y) = let
clsstr = id
$ reverse
$ take 2
$ ( ++ (repeat '0'))
$ reverse
$ show x
barstr = replicate y '*'
in concat [ clsstr," ", barstr,"\n"]
main = do
records <- experience !! 100
putStr $ id
$ concat
$ map showrecord
$ map (\x -> (head x, length $ tail x))
$ group
$ sort
$ records
import Data.List
import System.Random
trial records = do
x <- randomRIO (0, 1) :: IO Double
return $ (truncate $ x * 11) : records
experience = iterate (>>= trial) (return [0..10])
showrecord (x,y) = let
clsstr = id
$ reverse
$ take 2
$ ( ++ (repeat '0'))
$ reverse
$ show x
barstr = replicate y '*'
in concat [ clsstr," ", barstr,"\n"]
main = do
records <- experience !! 100
putStr $ id
$ concat
$ map showrecord
$ map (\x -> (head x, length $ tail x))
$ group
$ sort
$ records
671デフォルトの名無しさん
2020/10/12(月) 01:14:47.03ID:hVCmG980672デフォルトの名無しさん
2020/10/12(月) 08:18:41.49ID:fHHXzdlp >>667
二項分布になるんじゃないかなあ
二項分布になるんじゃないかなあ
673デフォルトの名無しさん
2020/10/14(水) 15:32:12.46ID:M1NONSBM >>649 オーディオ系はシステム依存度が高いから余りサンプルが出てこないね。 WindowsやMacOSなら簡単そうだが
1kHz の音源ファイルを使うのは違反かな?
1kHz の音源ファイルを使うのは違反かな?
674蟻人間 ◆T6xkBnTXz7B0
2020/10/14(水) 17:27:12.50ID:TNR/wFHW675デフォルトの名無しさん
2020/10/14(水) 17:57:41.59ID:qOYZdiW9 答え出てきても試しようがない
676蟻人間 ◆T6xkBnTXz7B0
2020/10/14(水) 18:19:22.34ID:TNR/wFHW677蟻人間 ◆T6xkBnTXz7B0
2020/10/14(水) 18:24:27.45ID:TNR/wFHW678デフォルトの名無しさん
2020/10/14(水) 18:36:34.21ID:Azmo5ss/ シェル経由でSoX playコマンド呼んでるだけやんけ
Pythonもmacも関係ねぇわ
Pythonもmacも関係ねぇわ
679デフォルトの名無しさん
2020/10/14(水) 19:17:28.35ID:Y0U/d7P+ OSにつく前置詞はwithじゃなくてonだろハゲ
680デフォルトの名無しさん
2020/10/14(水) 19:30:29.09ID:pZU5VHHG 試すと音が出て煩そうだから試す気になれない。
681蟻人間 ◆T6xkBnTXz7B0
2020/10/14(水) 19:50:02.82ID:TNR/wFHW682デフォルトの名無しさん
2020/10/15(木) 00:45:55.69ID:BUh584nA >>678 iOS じゃ、play コマンドがなさそうなんだよな。
683デフォルトの名無しさん
2020/10/15(木) 01:18:37.79ID:fqrOjoDi 結局このスレで盛り上がるのは環境によらず言語によらず、でも多少は骨のあるようなお題なんだよな
へぇその言語ならそんなにキレイに書けるのかとか普段自分が使ってない言語ではどうやって実現できるのか眺めたりするのが面白い
音鳴らすなんてお題として面白いわけがない
へぇその言語ならそんなにキレイに書けるのかとか普段自分が使ってない言語ではどうやって実現できるのか眺めたりするのが面白い
音鳴らすなんてお題として面白いわけがない
684デフォルトの名無しさん
2020/10/15(木) 01:40:28.46ID:S6IC+plr ヒント:出題者
685デフォルトの名無しさん
2020/10/15(木) 11:44:28.12ID:cDg3UiVL 蟻人間さんへのお題:
文字列を受け取って、RFC 5322にしたがってSubjectヘッダを出力してください(MUST、SHOULDを満たすこと)
文字コードはUTF-8、エンコーディングはBエンコードを使用してください
文字列を受け取って、RFC 5322にしたがってSubjectヘッダを出力してください(MUST、SHOULDを満たすこと)
文字コードはUTF-8、エンコーディングはBエンコードを使用してください
686蟻人間 ◆T6xkBnTXz7B0
2020/10/15(木) 13:28:00.67ID:s1gNbcw/ >>685 Python
text = 'Re: Re: This is a subject text. This is a subject text. This is a subject text.'
if text[0:4] == 'Re: ':
__while text[0:4] == 'Re: ':
____text = text[4:]
__text = 'Re: ' + text
import base64
text = 'Subject: ' + base64.b64encode(text.encode('utf-8')).decode('ascii');
ary = []
while len(text) > 78:
__ary.append(text[0:78])
__text = text[78:]
ary.append(text)
import platform
if platform.system() == 'Windows':
__for item in ary:
____print(item)
else:
__for item in ary:
____print(item, end="\r\n")
text = 'Re: Re: This is a subject text. This is a subject text. This is a subject text.'
if text[0:4] == 'Re: ':
__while text[0:4] == 'Re: ':
____text = text[4:]
__text = 'Re: ' + text
import base64
text = 'Subject: ' + base64.b64encode(text.encode('utf-8')).decode('ascii');
ary = []
while len(text) > 78:
__ary.append(text[0:78])
__text = text[78:]
ary.append(text)
import platform
if platform.system() == 'Windows':
__for item in ary:
____print(item)
else:
__for item in ary:
____print(item, end="\r\n")
687蟻人間 ◆T6xkBnTXz7B0
2020/10/15(木) 13:49:36.74ID:IXtC9lOP688デフォルトの名無しさん
2020/10/15(木) 14:30:46.93ID:cDg3UiVL >>686
いろいろ違うので・・・メールのソース眺めたが良いです
いろいろ違うので・・・メールのソース眺めたが良いです
689デフォルトの名無しさん
2020/10/15(木) 19:14:52.90ID:QzXinxJa 頭の悪いお題を連投してるやつはやっぱり頭悪いんだな
690デフォルトの名無しさん
2020/10/15(木) 19:22:03.88ID:cDg3UiVL そんなことないと思うけどな
あまり他人の悪口言わない方が良いよ
あまり他人の悪口言わない方が良いよ
691デフォルトの名無しさん
2020/10/15(木) 19:28:33.00ID:QzXinxJa くっそみたいなお題延々と出し続けてウザいじゃん
692デフォルトの名無しさん
2020/10/15(木) 19:29:59.48ID:MTvivIgb >>629なんかはいいと思うんだけどな
eval使えないHaskellerにはいい練習問題になってる
eval使えないHaskellerにはいい練習問題になってる
693デフォルトの名無しさん
2020/10/15(木) 19:38:14.90ID:QzXinxJa ウェブアプリつくれだのGUIアプリつくれだの酷い事散々言いまくってるじゃん
◆QZaw55cn4cの方がまだマシ
◆QZaw55cn4cの方がまだマシ
694デフォルトの名無しさん
2020/10/15(木) 19:40:03.02ID:MTvivIgb まぁ音出せとかカラーバー出せとかはクソお題だな
695デフォルトの名無しさん
2020/10/16(金) 19:48:26.76ID:2tllxc0n お題
自然数nを 2進数にした時、 1が連続する個数の最大値を求める。
例
20201016 -> 5
自然数nを 2進数にした時、 1が連続する個数の最大値を求める。
例
20201016 -> 5
696デフォルトの名無しさん
2020/10/16(金) 20:25:28.88ID:YQH8/KbW haskell
import Data.List
maxConsOne = maximum . map length . filter ((==1).head) . group . unfoldr (\n ->if n == 0 then Nothing else Just (mod n 2, div n 2))
main = print $ maxConsOne $ 20201016
----
5
import Data.List
maxConsOne = maximum . map length . filter ((==1).head) . group . unfoldr (\n ->if n == 0 then Nothing else Just (mod n 2, div n 2))
main = print $ maxConsOne $ 20201016
----
5
697デフォルトの名無しさん
2020/10/16(金) 21:03:20.03ID:a9PKFHNt >>695 ruby
f = ->(n) {n.to_s(2).chars.chunk(&:itself).map {|k, a| k == '1' ? a.size : 0}.max}
f = ->(n) {n.to_s(2).chars.chunk(&:itself).map {|k, a| k == '1' ? a.size : 0}.max}
698デフォルトの名無しさん
2020/10/16(金) 21:35:06.98ID:XtprH8ZD >>695 JavaScript
const f = (n = 0) => Math.max(...(n.toString(2).match(/1+/g) ?? ['']).map(m => m.length))
console.log(f(20201016)) //=> 5
const f = (n = 0) => Math.max(...(n.toString(2).match(/1+/g) ?? ['']).map(m => m.length))
console.log(f(20201016)) //=> 5
699253
2020/10/16(金) 23:46:14.30ID:5gS0lg4h >>695 Perl5
use List::Util max;
print max map{length} sprintf('%b', 20201016) =~ /(1+)/g;
実行結果
$ perl 18_695_bin1.pl
5
use List::Util max;
print max map{length} sprintf('%b', 20201016) =~ /(1+)/g;
実行結果
$ perl 18_695_bin1.pl
5
700デフォルトの名無しさん
2020/10/17(土) 00:12:43.05ID:7ct7R1y+701デフォルトの名無しさん
2020/10/17(土) 00:24:53.85ID:u2s9P3C4 haskell
無名関数というインチキ使ってしまったので再挑戦バージョン
import Data.List
main = print $ maximum . map sum . group . map (flip mod 2) . takeWhile (/=0) . iterate (flip div 2) $ 20201016
無名関数というインチキ使ってしまったので再挑戦バージョン
import Data.List
main = print $ maximum . map sum . group . map (flip mod 2) . takeWhile (/=0) . iterate (flip div 2) $ 20201016
703デフォルトの名無しさん
2020/10/17(土) 01:58:38.41ID:S6LboNFt >>695 Ruby
n = 20201016
nl = 0
while n > 0
nl = ((nc = (n.odd?)? nc + 1 : 0) > nl)? nc : nl
n >>= 1
end
puts nl
n = 20201016
nl = 0
while n > 0
nl = ((nc = (n.odd?)? nc + 1 : 0) > nl)? nc : nl
n >>= 1
end
puts nl
704デフォルトの名無しさん
2020/10/17(土) 01:59:32.64ID:u2s9P3C4 >>702
125の時1になった
125の時1になった
705デフォルトの名無しさん
2020/10/17(土) 02:41:53.51ID:AbkDXvLA これだからQZ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- ヤフコメ「中国への輸出がなくなる事で、日本国内で美味しくいただける事に感謝します」👈やたら政権寄りなのはなぜ?(´・ω・`) [399259198]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- paypayで支払いするの便利すぎワロッタwwwwwwwwwwwwwww
- 元・ジャンポケ斎藤(クーヘンSAITOU)、業務上横領で刑事告発されてしまう [329329848]
