プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
プログラミングのお題スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1524570314/
探検
プログラミングのお題スレ Part12
■ このスレッドは過去ログ倉庫に格納されています
2018/09/28(金) 10:09:07.13ID:phwOkayR
2018/10/11(木) 21:49:13.39ID:anEb94RG
>>68 >B Aにうるう秒をいれて正確に相互変換できるようにしなさい
>>83 >UTCは う る う 秒 入 れ た 時 刻 のことだぞ
うるう秒を入れるでなく、外すが正解ですね。すでに UTCには閏秒が入っていますから。
UTC(協定世界時)は TAI(国際原子時)を元に閏秒で補正して UT1(世界時)に合わせています。
7:00:00(UTC)の一日先の時間が24h+-1sec(閏秒)でも時刻は7:00:00(UTC)となるわけです。
よって JDに24hを足すと翌日になり JD/24h%7で曜日が分かります。
未来の日付も計算可能ですが、閏秒を入れないTAI(国際原子時)では地球の自転次第で変化します。
>天文でつかわれるユリウス日なんかはアホがいうとおり固定
逆です、天文計算で使うような時間は UT(世界時)を基準にしています。
それは天体の運動方程式を解くために基準の時刻からの正確な時間が必要だからです。
>>83 >UTCは う る う 秒 入 れ た 時 刻 のことだぞ
うるう秒を入れるでなく、外すが正解ですね。すでに UTCには閏秒が入っていますから。
UTC(協定世界時)は TAI(国際原子時)を元に閏秒で補正して UT1(世界時)に合わせています。
7:00:00(UTC)の一日先の時間が24h+-1sec(閏秒)でも時刻は7:00:00(UTC)となるわけです。
よって JDに24hを足すと翌日になり JD/24h%7で曜日が分かります。
未来の日付も計算可能ですが、閏秒を入れないTAI(国際原子時)では地球の自転次第で変化します。
>天文でつかわれるユリウス日なんかはアホがいうとおり固定
逆です、天文計算で使うような時間は UT(世界時)を基準にしています。
それは天体の運動方程式を解くために基準の時刻からの正確な時間が必要だからです。
93デフォルトの名無しさん
2018/10/11(木) 23:02:27.87ID:p15CvoFg 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
コレでオレの課題ができないなら
人間やめたほうがいい
・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
コレでオレの課題ができないなら
人間やめたほうがいい
94デフォルトの名無しさん
2018/10/12(金) 01:38:38.44ID:xbwLlD7o >>74
倍精度って、これでいいの?
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 になるわけでプログラムを作る必要性がないわけだが。
それとも仮数部が何ビットか分からない倍精度実数のビット数を求めるプログラムを作れってこと?
倍精度って、これでいいの?
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 になるわけでプログラムを作る必要性がないわけだが。
それとも仮数部が何ビットか分からない倍精度実数のビット数を求めるプログラムを作れってこと?
2018/10/12(金) 02:02:42.62ID:ZYTXH3K/
プログラミングのお題
「10以下の素数の和を求めよ」
答え
「17。コード書くまでもないんだがこれでいいのか?」
これはおかしいだろう
「10以下の素数の和を求めよ」
答え
「17。コード書くまでもないんだがこれでいいのか?」
これはおかしいだろう
2018/10/12(金) 02:23:49.18ID:I/tzu8NI
97デフォルトの名無しさん
2018/10/12(金) 02:35:54.36ID:xbwLlD7o え?じゃ、こんな感じ?
perl -e 'for($n=1;(2**$n)!=(2**$n+1);$n++){} printf "%d, %.0f\n", $n, 2 ** $n;'
動かすとこう出るが。
53, 9007199254740992
perl -e 'for($n=1;(2**$n)!=(2**$n+1);$n++){} printf "%d, %.0f\n", $n, 2 ** $n;'
動かすとこう出るが。
53, 9007199254740992
2018/10/12(金) 06:06:04.48ID:j3qUjmca
2018/10/12(金) 07:40:50.69ID:GdhRssFx
100デフォルトの名無しさん
2018/10/12(金) 09:39:43.72ID:1UpgDbu2 first(10)って普通は最初の10個を列挙するもんだがrubyは違うのか…
名前重要ってわりにセンスないな
名前重要ってわりにセンスないな
101デフォルトの名無しさん
2018/10/12(金) 10:33:46.63ID:oIm8hJ6E じゃあちなみにこの関数名は何ならいいんだ?
お前の考えを言ってみろよ
センスを判定してやるよ
お前の考えを言ってみろよ
センスを判定してやるよ
102デフォルトの名無しさん
2018/10/12(金) 10:49:03.90ID:6UbBSJp3 first(10)が10までってセンスは普通におかしいだろ
つーかrubyも最初の10個返すんだが…?
つーかrubyも最初の10個返すんだが…?
103デフォルトの名無しさん
2018/10/12(金) 13:22:40.26ID:+EEi3z6C 誰も動作を疑わずに書かれたものを脳死で信じるいい例だな、 >>99 のは17にはならん
104デフォルトの名無しさん
2018/10/12(金) 13:50:43.62ID:oIm8hJ6E ruby/ruby: The Ruby Programming Language
ttps://github.com/ruby/ruby
そりゃそうだろ
スクリプト言語のソースコードは公開されてて誰でも読めるが
大抵のユーザーは書かれたものを脳死で信じるしかないだろ
それともお前は使うスクリプト言語のソースコードは全部精査してるのか?
コンパイラのソースコードまで熟読してるのか?
ンなモン、脳死で信じるしかねーだろ
ttps://github.com/ruby/ruby
そりゃそうだろ
スクリプト言語のソースコードは公開されてて誰でも読めるが
大抵のユーザーは書かれたものを脳死で信じるしかないだろ
それともお前は使うスクリプト言語のソースコードは全部精査してるのか?
コンパイラのソースコードまで熟読してるのか?
ンなモン、脳死で信じるしかねーだろ
105デフォルトの名無しさん
2018/10/12(金) 13:54:46.58ID:VST6PShP 最近JavaとかC++とか少ないな
Javaは例の騒動があるから仕方ないとしてCとかC++はないんか
Javaは例の騒動があるから仕方ないとしてCとかC++はないんか
107デフォルトの名無しさん
2018/10/12(金) 18:59:19.35ID:eR+rcBR9108デフォルトの名無しさん
2018/10/12(金) 20:05:50.75ID:oyAlSwuR >>105
例の騒動って何
例の騒動って何
109デフォルトの名無しさん
2018/10/12(金) 20:13:31.37ID:jorGy8Se >>79
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
となるね
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
となるね
110デフォルトの名無しさん
2018/10/12(金) 21:22:44.25ID:+EEi3z6C ORACLEがお金取りますよってやつじゃない?
111デフォルトの名無しさん
2018/10/12(金) 21:27:58.87ID:+EEi3z6C なぜか言語自体のコード読む読まないの話になってるけど、これくらいのコードなら動かせばすぐにfirstが何してるか分かるじゃん、って思っただけだわ
112デフォルトの名無しさん
2018/10/13(土) 10:05:11.14ID:m4emGyLz お題
方程式 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 -> ?
方程式 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 -> ?
113デフォルトの名無しさん
2018/10/13(土) 11:29:08.44ID:4qDoRB+X つまんない
114デフォルトの名無しさん
2018/10/13(土) 11:32:11.63ID:QkDteBzw115デフォルトの名無しさん
2018/10/13(土) 11:52:27.26ID:QkDteBzw ごめん。>>114は勘違い無視して
116デフォルトの名無しさん
2018/10/13(土) 17:46:23.51ID:QtssFnIu117デフォルトの名無しさん
2018/10/15(月) 17:32:39.82ID:lmCCx0VP 回答一人で出題者からの返事がないとあってるかどうかわからないから困る
118デフォルトの名無しさん
2018/10/17(水) 11:31:35.00ID:UkGf74ne お題
[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を一様分布以外の分布から取ってくるとどうなる?
[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を一様分布以外の分布から取ってくるとどうなる?
119デフォルトの名無しさん
2018/10/17(水) 12:32:44.20ID:DKH+Jm9W >>118
それはプログラミングで解くお題なのか?
それはプログラミングで解くお題なのか?
120デフォルトの名無しさん
2018/10/17(水) 13:07:54.93ID:OYXuI76a >>119
シミュレーションしてみるのも面白いかなと
シミュレーションしてみるのも面白いかなと
121デフォルトの名無しさん
2018/10/17(水) 13:50:50.88ID:8efdFbKL 趣味で
122デフォルトの名無しさん
2018/10/17(水) 14:07:56.22ID:4awkQadJ これはひどい
123デフォルトの名無しさん
2018/10/17(水) 15:35:45.15ID:5mPHIqhK プログラミングで解くということに挑戦することから逃げるプログラマー
124デフォルトの名無しさん
2018/10/17(水) 15:55:41.32ID:mC+TJhph 数学に逃げちゃ駄目だ。
125デフォルトの名無しさん
2018/10/17(水) 17:12:22.62ID:DXXGfTNm 乱数全部同じパターンを引いてもその結果のみから分布を論じてかまわないというならそれでもいいがな
126デフォルトの名無しさん
2018/10/17(水) 17:34:51.31ID:slnS35LM ちょっとやってみた
J で
NB. monadic sort operator
sort=: /:~
NB. monadic operator returns count of a_n > b_n
NB. where a and b is sorted y-length array of rand(1000)
do1=: verb define
a =. sort ?y$1000
b =. sort ?y$1000
+/ (a>b)
)
NB. dyad operator returns count of number x in array y
count=: dyad define
+/ (x = y)
)
続く
J で
NB. monadic sort operator
sort=: /:~
NB. monadic operator returns count of a_n > b_n
NB. where a and b is sorted y-length array of rand(1000)
do1=: verb define
a =. sort ?y$1000
b =. sort ?y$1000
+/ (a>b)
)
NB. dyad operator returns count of number x in array y
count=: dyad define
+/ (x = y)
)
続く
127デフォルトの名無しさん
2018/10/17(水) 17:35:05.08ID:IG2KKzqQ >>118 Squeak/Pharo Smalltalkでシミュレーションのみ
擬似乱数発生器は Squeak の場合 Mersenne Twister(Pharo なら Park-Miller)
| N M random bag |
N := 10.
M := 1e6.
random := Random new.
bag := Bag new.
M timesRepeat: [
| pairs count |
pairs := (random next: N) with: (random next: N) collect: [:a :b | {a. b}].
count := pairs count: [:pair | [:a :b | a > b] valueWithArguments: pair].
bag add: count
].
bag sortedElements
"Squeak =>{
0->981.
1->9873.
2->44008.
3->117136.
4->205258.
5->246203.
6->204286.
7->117345.
8->44247.
9->9702.
10->961} "
擬似乱数発生器は Squeak の場合 Mersenne Twister(Pharo なら Park-Miller)
| N M random bag |
N := 10.
M := 1e6.
random := Random new.
bag := Bag new.
M timesRepeat: [
| pairs count |
pairs := (random next: N) with: (random next: N) collect: [:a :b | {a. b}].
count := pairs count: [:pair | [:a :b | a > b] valueWithArguments: pair].
bag add: count
].
bag sortedElements
"Squeak =>{
0->981.
1->9873.
2->44008.
3->117136.
4->205258.
5->246203.
6->204286.
7->117345.
8->44247.
9->9702.
10->961} "
128デフォルトの名無しさん
2018/10/17(水) 17:38:20.84ID:cKcilnbV >>118 Squeak/Pharo Smalltalkでシミュレーションのみ
擬似乱数発生器は Squeak の場合 Mersenne Twister(Pharo なら Park-Miller)
| N M random bag |
N := 10.
M := 1e6.
random := Random new.
bag := Bag new.
M timesRepeat: [
| pairs count |
pairs := (random next: N) with: (random next: N) collect: [:a :b | {a. b}].
count := pairs count: [:pair | [:a :b | a > b] valueWithArguments: pair].
bag add: count
].
bag sortedElements
"Squeak =>{
0->981.
1->9873.
2->44008.
3->117136.
4->205258.
5->246203.
6->204286.
7->117345.
8->44247.
9->9702.
10->961} "
擬似乱数発生器は Squeak の場合 Mersenne Twister(Pharo なら Park-Miller)
| N M random bag |
N := 10.
M := 1e6.
random := Random new.
bag := Bag new.
M timesRepeat: [
| pairs count |
pairs := (random next: N) with: (random next: N) collect: [:a :b | {a. b}].
count := pairs count: [:pair | [:a :b | a > b] valueWithArguments: pair].
bag add: count
].
bag sortedElements
"Squeak =>{
0->981.
1->9873.
2->44008.
3->117136.
4->205258.
5->246203.
6->204286.
7->117345.
8->44247.
9->9702.
10->961} "
129デフォルトの名無しさん
2018/10/17(水) 17:40:58.97ID:wdgUzBYj あ、誤連投&Jのにきスマン
130デフォルトの名無しさん
2018/10/17(水) 17:41:12.83ID:slnS35LM 続き
NB. 長さ100の配列で100000回試行
r =: (do1 "0) 100000$100
NB. r を表示
r
=> 43 77 58 31 23 36 59 26 85 15 73 72 4 34 0 26 22 26 85 70 95 2 64 46 22 84 22 86 78 39 51 34 92 94 68 98 47 38 68 92 48 43 19 97 80 18 13 65 76 79 17 88 19 39 72 74 16 54 32 11 99 3 80 32 94 25 87 91 ...
NB. 0...100 の各数値の出現数
(i. 101) (count "0 1) r
=> 109 107 118 94 104 93 98 100 76 87 97 102 93 98 101 94 94 90 112 107 92 103 109 97 112 89 113 118 97 108 96 81 86 103 87 102 107 101 95 90 96 102 96 87 100 88 108 115 97 119 129 104 94 100 104 101 114...
NB. グラフ化
plot (i. 101) (count "0 1) r
https://i.imgur.com/QSKqVC6.jpg
一様分布っぽい
NB. 長さ100の配列で100000回試行
r =: (do1 "0) 100000$100
NB. r を表示
r
=> 43 77 58 31 23 36 59 26 85 15 73 72 4 34 0 26 22 26 85 70 95 2 64 46 22 84 22 86 78 39 51 34 92 94 68 98 47 38 68 92 48 43 19 97 80 18 13 65 76 79 17 88 19 39 72 74 16 54 32 11 99 3 80 32 94 25 87 91 ...
NB. 0...100 の各数値の出現数
(i. 101) (count "0 1) r
=> 109 107 118 94 104 93 98 100 76 87 97 102 93 98 101 94 94 90 112 107 92 103 109 97 112 89 113 118 97 108 96 81 86 103 87 102 107 101 95 90 96 102 96 87 100 88 108 115 97 119 129 104 94 100 104 101 114...
NB. グラフ化
plot (i. 101) (count "0 1) r
https://i.imgur.com/QSKqVC6.jpg
一様分布っぽい
131デフォルトの名無しさん
2018/10/17(水) 17:43:54.06ID:slnS35LM だいぶ結果が違っててわろすw
>>127ソート忘れてないか?
>>127ソート忘れてないか?
132デフォルトの名無しさん
2018/10/17(水) 17:47:40.41ID:slnS35LM 理屈で考えると乱数がどんな分布でも a、b の分布が同じならコレの結果は常に同じ分布か
133デフォルトの名無しさん
2018/10/17(水) 19:01:16.05ID:wdgUzBYj なんか書き込めん…
>>131
たしかに^^;
pairs := (random next: N) sort with: (random next: N) sort collect: [:a :b | {a. b}].
で同じ分布になった
>>131
たしかに^^;
pairs := (random next: N) sort with: (random next: N) sort collect: [:a :b | {a. b}].
で同じ分布になった
134デフォルトの名無しさん
2018/10/17(水) 22:28:10.42ID:9jVKFKz5 ハローワールドの次にやる問題ってなんだろう
135デフォルトの名無しさん
2018/10/17(水) 22:28:34.01ID:Ny9Q/0jK ハローワークへ行きなさい
136デフォルトの名無しさん
2018/10/17(水) 22:47:23.45ID:ysrRFDeq >>134
echoかfizz buzzでもやれば
echoかfizz buzzでもやれば
138デフォルトの名無しさん
2018/10/18(木) 09:27:49.01ID:xtVP5nmJ139デフォルトの名無しさん
2018/10/18(木) 19:47:17.70ID:3zhbamE0 136本人が出てきて答えなさい
140デフォルトの名無しさん
2018/10/18(木) 22:31:25.80ID:qi6SRLg2 ハローワールドの次ぐらいだとすごろくとかじゃない
141デフォルトの名無しさん
2018/10/19(金) 16:49:17.22ID:F1UCQFsO お題
標準入力から入力したデータをそのまま標準出力人出力する
標準入力から入力したデータをそのまま標準出力人出力する
142デフォルトの名無しさん
2018/10/19(金) 17:05:33.84ID:veK9KPY5143デフォルトの名無しさん
2018/10/19(金) 17:15:05.14ID:gPrGaWTX >>141
cat
cat
144デフォルトの名無しさん
2018/10/19(金) 18:18:43.95ID:rCjk/mnI >>143 Brainfuck
,[.,]
,[.,]
145デフォルトの名無しさん
2018/10/19(金) 18:19:25.68ID:rCjk/mnI146デフォルトの名無しさん
2018/10/19(金) 20:16:34.44ID:qai0UNii お題
マルチバイト文字だけ文字化けさせて出力
マルチバイト文字だけ文字化けさせて出力
147デフォルトの名無しさん
2018/10/19(金) 20:39:51.48ID:5dseSh/K148デフォルトの名無しさん
2018/10/20(土) 03:08:59.15ID:gD7ZVb6v iso-8859-2を入力したら文字化けしたりUTF-7を入力したら文字化けしなかったりするのは美しくないから文字コードを指定させないといかん
149デフォルトの名無しさん
2018/10/20(土) 05:27:36.15ID:qwv4GmvH >>146
Kotlin
https://paiza.io/projects/jg9Pa-PO2UCwSLFPL3draw
入力はデフォルトのエンコーディングで Java のライブラリ内部で Unicode に自動変換させ、出力は UTF-8 になると想定して作られている。
つまり元の Unicode で \x0080 以上は UTF-8 だと全てマルチバイトになるので化けるようにしてある。
化け方は2通りでサロゲートペアの文字は % になりその他は * になる。
Kotlin
https://paiza.io/projects/jg9Pa-PO2UCwSLFPL3draw
入力はデフォルトのエンコーディングで Java のライブラリ内部で Unicode に自動変換させ、出力は UTF-8 になると想定して作られている。
つまり元の Unicode で \x0080 以上は UTF-8 だと全てマルチバイトになるので化けるようにしてある。
化け方は2通りでサロゲートペアの文字は % になりその他は * になる。
150デフォルトの名無しさん
2018/10/20(土) 17:10:58.56ID:hxCjYBWY >>141 Io
File standardInput contents print
File standardInput contents print
151デフォルトの名無しさん
2018/10/20(土) 17:46:57.83ID:cv2X893a お題: 超簡単なステートマシン
以下の3つのデータがランダムに入力される。
1: hi
2: wake up
3: sleep
1が入力された場合、状態がwake upであれば「hello」、状態がsleepであれば「zzz...」と出力せよ。
2が入力されたら状態をwake upに、3が入力されたら状態をsleepに移行せよ。
以下の3つのデータがランダムに入力される。
1: hi
2: wake up
3: sleep
1が入力された場合、状態がwake upであれば「hello」、状態がsleepであれば「zzz...」と出力せよ。
2が入力されたら状態をwake upに、3が入力されたら状態をsleepに移行せよ。
152デフォルトの名無しさん
2018/10/20(土) 18:05:02.67ID:Nttc2RvP153デフォルトの名無しさん
2018/10/20(土) 18:08:05.20ID:Nttc2RvP あれ、違うぞ?
hiが入力された時、「かつ」wake upだったら”hello”出力か。
んでsleepなら”zzz...”ね。
それ以外無視と。
了解。
hiが入力された時、「かつ」wake upだったら”hello”出力か。
んでsleepなら”zzz...”ね。
それ以外無視と。
了解。
154デフォルトの名無しさん
2018/10/20(土) 18:12:34.08ID:Nttc2RvP てか、1ー3の数字だけで良いわ。
状態の意味はわかったけど、状態の文字は要らんね。
状態の意味はわかったけど、状態の文字は要らんね。
155デフォルトの名無しさん
2018/10/20(土) 18:16:14.29ID:xvv7H8Vz それ以外をどう考慮すべきかは書かれてないから、
ここは「3つのデータがランダムに入力される」を信じたフリをして手抜きをするのが吉
そんなことよりステートマシンなら初期状態は与えろよw
ここは「3つのデータがランダムに入力される」を信じたフリをして手抜きをするのが吉
そんなことよりステートマシンなら初期状態は与えろよw
156デフォルトの名無しさん
2018/10/20(土) 18:28:45.80ID:AUqXYm6F >>151
python3
state = "sleep"
while True:
x = input("> ")
if x == "hi":
print("zzz..." if state == "sleep" else "hello")
elif x == "wake up":
state = "wake up"
elif x == "sleep":
state = "sleep"
else:
print("invalid input.")
python3
state = "sleep"
while True:
x = input("> ")
if x == "hi":
print("zzz..." if state == "sleep" else "hello")
elif x == "wake up":
state = "wake up"
elif x == "sleep":
state = "sleep"
else:
print("invalid input.")
157デフォルトの名無しさん
2018/10/20(土) 18:42:18.95ID:Nttc2RvP #include <stdio.h>
#include <conio.h>
int main(void)
{
char c,state = 0;
while(1)
{
c = getchar();
switch(c)
{
case '1':
if(state == '2')
{
printf("hello");
}
else if(state == '3')
{
printf("zzz...");
}
break;
#include <conio.h>
int main(void)
{
char c,state = 0;
while(1)
{
c = getchar();
switch(c)
{
case '1':
if(state == '2')
{
printf("hello");
}
else if(state == '3')
{
printf("zzz...");
}
break;
158デフォルトの名無しさん
2018/10/20(土) 18:43:23.41ID:Nttc2RvP case '2':
state = '2';
break;
case '3':
state = '3';
break;
default:
break;
state = '2';
break;
case '3':
state = '3';
break;
default:
break;
159デフォルトの名無しさん
2018/10/20(土) 18:43:31.11ID:Nttc2RvP }
}
return 0;
}
バッファ 無い方がいいのかと思ってバッファ無し版。(押したら即時入力)
conio.hは環境依存だけど、どうせWinだろ。
stdio.hのgetcだったら、バッファがあるからEnter押さないとだけど最初の1文字が入る。
面倒臭かったからステータスは数字に直さず文字そのまま使った。
}
return 0;
}
バッファ 無い方がいいのかと思ってバッファ無し版。(押したら即時入力)
conio.hは環境依存だけど、どうせWinだろ。
stdio.hのgetcだったら、バッファがあるからEnter押さないとだけど最初の1文字が入る。
面倒臭かったからステータスは数字に直さず文字そのまま使った。
160デフォルトの名無しさん
2018/10/20(土) 20:20:44.01ID:WvTfEY4N お題
2つの区間の共通部分を出力せよ
[1,3] [2,4] => [2,3]
(1,2) [1,2] => (1,2)
[0,100) (5,+inf) => (5,100)
(-inf,2] [1,+inf) => [1,2]
[1,2) [2,3) => {}
2つの区間の共通部分を出力せよ
[1,3] [2,4] => [2,3]
(1,2) [1,2] => (1,2)
[0,100) (5,+inf) => (5,100)
(-inf,2] [1,+inf) => [1,2]
[1,2) [2,3) => {}
161デフォルトの名無しさん
2018/10/20(土) 21:46:37.40ID:O4sbTglp >>151
ruby -nle"$_!=?1?($t=-$_.to_i):(puts %w[zzz... hello _][$t])"
ruby -nle"$_!=?1?($t=-$_.to_i):(puts %w[zzz... hello _][$t])"
162デフォルトの名無しさん
2018/10/21(日) 04:42:48.87ID:sz/a4USN >>151
Kotlin
https://paiza.io/projects/RpML2-t6V1kplmMq_f0usw
初期状態は sleep にした。
wake up と sleep 以外の入力に対しては ERROR を出力して状態は変化させないようにした。
入力が何だったか分かるようにするために行頭に >> を付けて入力文字列を出すようにした。
Kotlin
https://paiza.io/projects/RpML2-t6V1kplmMq_f0usw
初期状態は sleep にした。
wake up と sleep 以外の入力に対しては ERROR を出力して状態は変化させないようにした。
入力が何だったか分かるようにするために行頭に >> を付けて入力文字列を出すようにした。
163デフォルトの名無しさん
2018/10/21(日) 04:53:27.38ID:sz/a4USN164デフォルトの名無しさん
2018/10/21(日) 09:26:11.61ID:3Rh2KUxU165デフォルトの名無しさん
2018/10/21(日) 09:40:05.59ID:UVDgsDD7 >>151 GNU Smalltalk
入力は、数値ではなくメッセージで
状態推移は、クラスチェンジで(つまりインスタンス変数なし&条件分岐なし)
…な感じで、他言語では思いつきにくい実装で遊んでみました
Object subclass: Machine [
wakeUp [ ^self ]
sleep [ ^self ]
hi [ self subclassResponsibility ]
state [ ^self class displayNl ]
Other := nil.
]
Machine class extend [ new [ ^WakeUp basicNew ] ]
Machine subclass: WakeUp [ hi [ 'hello' displayNl ] ]
Machine subclass: Sleep [ hi [ 'zzz...' displayNl ] ]
Machine extend [ Other := Sleep basicNew ]
WakeUp extend [ sleep [ ^self become: Other ] ]
Sleep extend [ wakeUp [ ^self become: Other ] ]
| machine |
machine := Machine new.
machine state. "=> WakeUp "
machine hi. "=> hello "
machine sleep; state. "=> Sleep "
machine hi. "=> zzz... "
machine wakeUp; state. "=> WakeUp "
machine wakeUp; state. "=> WakeUp "
machine sleep; state. "=> Sleep "
machine sleep; state. "=> Sleep "
https://ideone.com/vyCRfq
入力は、数値ではなくメッセージで
状態推移は、クラスチェンジで(つまりインスタンス変数なし&条件分岐なし)
…な感じで、他言語では思いつきにくい実装で遊んでみました
Object subclass: Machine [
wakeUp [ ^self ]
sleep [ ^self ]
hi [ self subclassResponsibility ]
state [ ^self class displayNl ]
Other := nil.
]
Machine class extend [ new [ ^WakeUp basicNew ] ]
Machine subclass: WakeUp [ hi [ 'hello' displayNl ] ]
Machine subclass: Sleep [ hi [ 'zzz...' displayNl ] ]
Machine extend [ Other := Sleep basicNew ]
WakeUp extend [ sleep [ ^self become: Other ] ]
Sleep extend [ wakeUp [ ^self become: Other ] ]
| machine |
machine := Machine new.
machine state. "=> WakeUp "
machine hi. "=> hello "
machine sleep; state. "=> Sleep "
machine hi. "=> zzz... "
machine wakeUp; state. "=> WakeUp "
machine wakeUp; state. "=> WakeUp "
machine sleep; state. "=> Sleep "
machine sleep; state. "=> Sleep "
https://ideone.com/vyCRfq
166デフォルトの名無しさん
2018/10/21(日) 11:09:36.22ID:S2kctYlU >>151
PowerShell、初期状態は 'Sleep'
function StateMachine {
param([parameter(ValueFromPipeline=$true)][string]$Event)
begin { $InSleep = $true }
process {
switch($Event){
'hi'{ Write-Host "$(if($InSleep){'zzz...'}else{'hellow'})"}
'wake up'{$InSleep=$false}
'sleep'{$InSleep=$true}
}
}
}
'hi','sleep','hi','wake up','hi' | StateMachine
PowerShell、初期状態は 'Sleep'
function StateMachine {
param([parameter(ValueFromPipeline=$true)][string]$Event)
begin { $InSleep = $true }
process {
switch($Event){
'hi'{ Write-Host "$(if($InSleep){'zzz...'}else{'hellow'})"}
'wake up'{$InSleep=$false}
'sleep'{$InSleep=$true}
}
}
}
'hi','sleep','hi','wake up','hi' | StateMachine
167デフォルトの名無しさん
2018/10/21(日) 18:51:44.61ID:7SU77e8C168デフォルトの名無しさん
2018/10/21(日) 22:29:32.21ID:4ZLg1Jin >>141 Lua
io.write(io.read("*a"))
io.write(io.read("*a"))
169デフォルトの名無しさん
2018/10/22(月) 01:45:31.26ID:mc31Kn/b >>2
これおかしくね?
これおかしくね?
170デフォルトの名無しさん
2018/10/23(火) 19:00:32.44ID:eWhef4/P171デフォルトの名無しさん
2018/10/23(火) 21:37:05.53ID:HCMpmlk6 お題
Excel列番号の数字表記とアルファベット表記を相互変換せよ
A => 1
AA => 27
ABC => ?
26 => Z
266379 => ?
Excel列番号の数字表記とアルファベット表記を相互変換せよ
A => 1
AA => 27
ABC => ?
26 => Z
266379 => ?
172デフォルトの名無しさん
2018/10/23(火) 22:19:55.60ID:kr01ah20 >>171
Part6の754ですでに通った道だった
https://peace.5ch.net/test/read.cgi/tech/1418278634/754
そしてその時の俺の回答はこれだ
http://ideone.com/SM0HXt
Part6の754ですでに通った道だった
https://peace.5ch.net/test/read.cgi/tech/1418278634/754
そしてその時の俺の回答はこれだ
http://ideone.com/SM0HXt
173デフォルトの名無しさん
2018/10/23(火) 22:19:56.82ID:UJUp/CV/ >>171 Ruby
f=->n{n.to_s(26).tr('0-9a-p',r='@-Y').sub(/(.)@/){$1.tr('A-Z',r)+?Z}.delete ?@}
g=->s{s.tr('A-Z','0-9a-p').to_i(26)+(26**s.length-1)/25}
puts '%s => %s'%[$_.chop!,~/\d/?f[$_.to_i]:g[$_]]while gets
# =>
A => 1
AA => 27
ABC => 731
26 => Z
266379 => ODAI
f=->n{n.to_s(26).tr('0-9a-p',r='@-Y').sub(/(.)@/){$1.tr('A-Z',r)+?Z}.delete ?@}
g=->s{s.tr('A-Z','0-9a-p').to_i(26)+(26**s.length-1)/25}
puts '%s => %s'%[$_.chop!,~/\d/?f[$_.to_i]:g[$_]]while gets
# =>
A => 1
AA => 27
ABC => 731
26 => Z
266379 => ODAI
174デフォルトの名無しさん
2018/10/23(火) 22:31:11.04ID:fVBjYNqz iか何かが無かったような?
175デフォルトの名無しさん
2018/10/23(火) 23:51:06.93ID:H259Ae8g var trans = alpha => parseInt((parseInt(alpha, 36) - parseInt('9'.repeat(alpha.length), 36)).toString(36), 26)
trans('A')
//=> 1
trans('AA')
//=> 27
trans('ABC')
//=> 731
順変換だけやってみたけどすごい不安…
Aがゼロ的な物なのか1的な物なのかこんがらがる…
trans('A')
//=> 1
trans('AA')
//=> 27
trans('ABC')
//=> 731
順変換だけやってみたけどすごい不安…
Aがゼロ的な物なのか1的な物なのかこんがらがる…
176デフォルトの名無しさん
2018/10/24(水) 00:17:51.17ID:n2SwZ/Io >>175
Aは0扱いでよい。
与えられた文字列を str にとして x = str[A-Zの26進数] に対して
求める数 f(x) f N\{0} -> N\{0} は
f(x) = x + (26**g(x) - 1)/25
(g(x) := x == 0 ? 1 : [log_26(x)] + 1).
f は全単射なので逆写像f^(-1)が存在するので
f と f^(-1) が答え.
Aは0扱いでよい。
与えられた文字列を str にとして x = str[A-Zの26進数] に対して
求める数 f(x) f N\{0} -> N\{0} は
f(x) = x + (26**g(x) - 1)/25
(g(x) := x == 0 ? 1 : [log_26(x)] + 1).
f は全単射なので逆写像f^(-1)が存在するので
f と f^(-1) が答え.
177デフォルトの名無しさん
2018/10/24(水) 00:19:21.73ID:kOQJNkO6 マジカルインクリメント!マジカルインクリメントじゃないか!!
178デフォルトの名無しさん
2018/10/25(木) 11:51:35.92ID:3ObU9lli >>171 Pharo/Squeak Smalltalk
| fromExcelColm toExcelColm |
fromExcelColm := [:str | str asByteArray reversed - 64 polynomialEval: 26].
toExcelColm := [:n |
| nn digits |
nn := n.
digits := OrderedCollection new.
[(nn := nn - 1) >= 0] whileTrue: [digits addFirst: nn \\ 26. nn := nn // 26].
(digits asByteArray + 65) asString
].
fromExcelColm value: 'A'. "=> 1 "
fromExcelColm value: 'AA'. "=> 27 "
fromExcelColm value: 'ABC'. "=> 731 "
toExcelColm value: 26. "=> 'Z' "
toExcelColm value: 266379. "=> 'ODAI' "
fromExcelColm value: 'EXCEL'. "=> 2708874 "
toExcelColm value: 2788185942068. "=> 'MICROSOFT' "
| fromExcelColm toExcelColm |
fromExcelColm := [:str | str asByteArray reversed - 64 polynomialEval: 26].
toExcelColm := [:n |
| nn digits |
nn := n.
digits := OrderedCollection new.
[(nn := nn - 1) >= 0] whileTrue: [digits addFirst: nn \\ 26. nn := nn // 26].
(digits asByteArray + 65) asString
].
fromExcelColm value: 'A'. "=> 1 "
fromExcelColm value: 'AA'. "=> 27 "
fromExcelColm value: 'ABC'. "=> 731 "
toExcelColm value: 26. "=> 'Z' "
toExcelColm value: 266379. "=> 'ODAI' "
fromExcelColm value: 'EXCEL'. "=> 2708874 "
toExcelColm value: 2788185942068. "=> 'MICROSOFT' "
179デフォルトの名無しさん
2018/10/25(木) 12:50:39.12ID:hw/Q19JU180デフォルトの名無しさん
2018/10/25(木) 16:24:37.58ID:aKbYC4uC181デフォルトの名無しさん
2018/10/25(木) 16:39:59.02ID:wLNEFoo1 >>176
>Aは0扱いでよい。
>与えられた文字列を str にとして x = str[A-Zの26進数] に対して
それだと "A" も "AAAAAA" も x = 0 になるから g がダメだな
>Aは0扱いでよい。
>与えられた文字列を str にとして x = str[A-Zの26進数] に対して
それだと "A" も "AAAAAA" も x = 0 になるから g がダメだな
182デフォルトの名無しさん
2018/10/25(木) 16:46:00.18ID:9VVQwm/j やっぱり36進数[0-9a-z]使った横着は出来ないのか…
183デフォルトの名無しさん
2018/10/25(木) 17:18:04.60ID:BFrEhhQu perlのbasecalcだとマジカルなことができる
184デフォルトの名無しさん
2018/10/25(木) 17:29:09.19ID:/ssDOiD4 >>181
文字列にするときは適当な10*n[26進数]を足してやればよいからやはり基本は26進数でよい
文字列にするときは適当な10*n[26進数]を足してやればよいからやはり基本は26進数でよい
185デフォルトの名無しさん
2018/10/25(木) 17:46:06.11ID:wLNEFoo1 デコードは A-Z を 1 から 26 とする 0 を持たない変則 26 進数として数値化すりゃあいいんだよ
以下J
26 #. _64 + a. i. 'ABC'
==> 731
26 #. _64 + a. i. 'ODAI'
==> 266379
エンコードはちょっと1行では説明しにくい
以下J
26 #. _64 + a. i. 'ABC'
==> 731
26 #. _64 + a. i. 'ODAI'
==> 266379
エンコードはちょっと1行では説明しにくい
186デフォルトの名無しさん
2018/10/25(木) 17:52:55.69ID:Toapoewp 27進だろ…
187デフォルトの名無しさん
2018/10/25(木) 17:53:10.85ID:hw/Q19JU188デフォルトの名無しさん
2018/10/25(木) 18:17:57.30ID:wLNEFoo1 >>186
下からn桁目の重み付けが 26^n で(1番下を0桁とする)、
各桁の数字が1〜26なんだよ
これで0以外の数は表記できる
AAA は 1*26*26 + 1 *26 + 1
ABC は 1*26*26 + 2 *26 + 3
YAZ は 25*26*26 + 1*26 + 26
下からn桁目の重み付けが 26^n で(1番下を0桁とする)、
各桁の数字が1〜26なんだよ
これで0以外の数は表記できる
AAA は 1*26*26 + 1 *26 + 1
ABC は 1*26*26 + 2 *26 + 3
YAZ は 25*26*26 + 1*26 + 26
189デフォルトの名無しさん
2018/10/25(木) 19:37:38.82ID:gO/HWAcm190デフォルトの名無しさん
2018/10/25(木) 20:05:21.59ID:na0fZQbz 全くの素人質問で申し訳ありませんが、お知恵拝借したくお願いします。
http://www.cjh.com.cn/
の画面左まんなか辺りの
三峡水? 25日 19?00分 174.64 -(入) 15200(出)
を自動で毎日夜21時に取得して
https://egg.5ch.net/test/read.cgi/river/1507607675/
に自動で書き込む方法はありますでしょうか?
長年誰かが手写しでしたが、死屍累々でございます、、、、なのです、、
http://www.cjh.com.cn/
の画面左まんなか辺りの
三峡水? 25日 19?00分 174.64 -(入) 15200(出)
を自動で毎日夜21時に取得して
https://egg.5ch.net/test/read.cgi/river/1507607675/
に自動で書き込む方法はありますでしょうか?
長年誰かが手写しでしたが、死屍累々でございます、、、、なのです、、
191デフォルトの名無しさん
2018/10/25(木) 20:16:07.42ID:na0fZQbz192デフォルトの名無しさん
2018/10/25(木) 20:33:47.72ID:TSZxWHJ/ sssqold.htmlのソース見たが読むほうは簡単そうだな
書き込む方はしらん
書き込む方はしらん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「高市さん負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 [樽悶★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 【為替】対ドルで157円台、対ユ=[ロ181円台に下落 財政悪化を警戒 [蚤の市★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【自民/維新】国会議員の歳費、月5万円アップで調整 月額134万4000円に 維新配慮で次の国政選挙後に引き上げ方針 [Hitzeschleier★]
- フィフィ、中国の“日本産水産物輸入停止”措置に私見「中国依存しないとやっていけない企業は考えを改めて」 [Anonymous★]
- 日本人、ついに気づいた「あれ、高市早苗ってやばくね?」 [931948549]
- 【悲報】ネトウヨ「福島みずほが空母からB52が飛ぶとか言ってた、馬鹿乙」ネトウヨ「戦艦は軍艦のことだろ、馬鹿乙」 [616817505]
- 【悲報】倉田真由美「なんで高市は子供がいる家庭に2万円給付するの?子供がいる家庭ばかり優遇するのおかしくね?」 [802034645]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 【悲報】高市早苗「“なり得る”って言っただけでなんでそんなに叩くの?私女なんですけど!」 [616817505]
