プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1549160513/
プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
2019/05/18(土) 17:33:29.45ID:BWmpW4IF
234デフォルトの名無しさん
2019/06/07(金) 18:22:52.80ID:CBwJTjr/235デフォルトの名無しさん
2019/06/07(金) 20:25:03.39ID:itc0IrgZ お題:相異なる25個の英大文字が与えられるので、足りない1個を出力せよ
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
236デフォルトの名無しさん
2019/06/07(金) 20:27:51.01ID:LHJ6D3bl >>235 ruby
$><<([?A..?Z]-gets.split(''))
$><<([?A..?Z]-gets.split(''))
237デフォルトの名無しさん
2019/06/07(金) 20:28:29.84ID:LHJ6D3bl238デフォルトの名無しさん
2019/06/08(土) 00:59:14.99ID:zvJkEDj7 >>235 Perl5
for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
@a = grep{0>index$s,$_} A..Z;
print "$s -> @a\n";
}
$ perl 14_235.pl
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
for $s (BCDEFGHIJKLMNOPQRSTUVWXYZ, YIZFOADLMWCRUTGSVQKJEHNBP) {
@a = grep{0>index$s,$_} A..Z;
print "$s -> @a\n";
}
$ perl 14_235.pl
BCDEFGHIJKLMNOPQRSTUVWXYZ -> A
YIZFOADLMWCRUTGSVQKJEHNBP -> X
239デフォルトの名無しさん
2019/06/08(土) 01:04:50.07ID:zvJkEDj7240デフォルトの名無しさん
2019/06/08(土) 04:54:26.27ID:t4bm4zRu241デフォルトの名無しさん
2019/06/08(土) 05:36:07.66ID:BULhVnPP243デフォルトの名無しさん
2019/06/08(土) 06:35:13.06ID:nbnKD3nO 最初から曖昧な式を書いてる出題者が最大の悪意だろ
もう無視しろよこんなサイコパス
もう無視しろよこんなサイコパス
244デフォルトの名無しさん
2019/06/08(土) 06:40:21.36ID:c2kswOOS えぇ……どこが曖昧なんだよ
無知だからって開き直るのは格好悪いわ
無知だからって開き直るのは格好悪いわ
245デフォルトの名無しさん
2019/06/08(土) 06:50:01.64ID:7Ke9leiS >>241
悪意と言うより6.0/xとか見る限りちょっと抜けてるんだと思う
悪意と言うより6.0/xとか見る限りちょっと抜けてるんだと思う
246デフォルトの名無しさん
2019/06/08(土) 07:48:52.33ID:jHJxbMi0 お前らでも他人の悪口言うもんなんだな
247デフォルトの名無しさん
2019/06/08(土) 10:21:44.01ID:831NYUH9 >>235 Pharo/Squeak Smalltalk
| alphabet |
alphabet := Character alphabet asUppercase.
alphabet difference: 'BCDEFGHIJKLMNOPQRSTUVWXYZ'. "=> 'A' "
alphabet difference: 'YIZFOADLMWCRUTGSVQKJEHNBP'. "=> 'X' "
| alphabet |
alphabet := Character alphabet asUppercase.
alphabet difference: 'BCDEFGHIJKLMNOPQRSTUVWXYZ'. "=> 'A' "
alphabet difference: 'YIZFOADLMWCRUTGSVQKJEHNBP'. "=> 'X' "
248デフォルトの名無しさん
2019/06/08(土) 11:01:33.46ID:CjDCyQh6 >>220 Pharo/Squeak Smalltalk
| set exp |
set := Set new.
(1 to: 4) asDigitsToPower: 3 do: [:combi |
combi permutationsDo: [:permu | set add: permu copy]
].
exp := [:x :y :z | 1/x + (1/(2*y)) + (1/(3*z))].
set select: [:permu | (exp valueWithArguments: permu) = (4/3)]
"=> a Set(#(2 1 1) #(1 3 2) #(1 2 4)) "
| set exp |
set := Set new.
(1 to: 4) asDigitsToPower: 3 do: [:combi |
combi permutationsDo: [:permu | set add: permu copy]
].
exp := [:x :y :z | 1/x + (1/(2*y)) + (1/(3*z))].
set select: [:permu | (exp valueWithArguments: permu) = (4/3)]
"=> a Set(#(2 1 1) #(1 3 2) #(1 2 4)) "
249195
2019/06/08(土) 11:07:07.66ID:gSg6KwWS >>235 python
import string
A26 = set(string.ascii_uppercase)
print(A26.difference(set('BCDEFGHIJKLMNOPQRSTUVWXYZ')).pop()) #-> A
print(A26.difference(set('YIZFOADLMWCRUTGSVQKJEHNBP')).pop()) #-> X
import string
A26 = set(string.ascii_uppercase)
print(A26.difference(set('BCDEFGHIJKLMNOPQRSTUVWXYZ')).pop()) #-> A
print(A26.difference(set('YIZFOADLMWCRUTGSVQKJEHNBP')).pop()) #-> X
250デフォルトの名無しさん
2019/06/08(土) 20:39:21.75ID:gCLo3iII251デフォルトの名無しさん
2019/06/08(土) 20:40:05.48ID:gCLo3iII >>245
全体を6倍しているからだが?
全体を6倍しているからだが?
252デフォルトの名無しさん
2019/06/08(土) 20:41:05.12ID:gCLo3iII >>242
それが分母ならちゃんと括弧書けよ。
それが分母ならちゃんと括弧書けよ。
253デフォルトの名無しさん
2019/06/08(土) 21:10:55.53ID:7Ke9leiS 周りの人に同情するわ…w
254デフォルトの名無しさん
2019/06/08(土) 21:53:10.61ID:bSq0it8T ID:gCLo3iII ガチのガイジやんけ
255デフォルトの名無しさん
2019/06/08(土) 22:03:07.94ID:CpkbOmpy ワラタwww
256デフォルトの名無しさん
2019/06/08(土) 23:58:19.51ID:nh3nMmSu https://ideone.com/IFCJVe
3個でないよ?(愚鈍)
3個でないよ?(愚鈍)
258デフォルトの名無しさん
2019/06/09(日) 00:14:56.14ID:W8wtcQAp >>235
AからZの文字コードの数値の総和から入力文字列の各文字の文字コードの総和を引けばいいね
AからZの文字コードの数値の総和から入力文字列の各文字の文字コードの総和を引けばいいね
259デフォルトの名無しさん
2019/06/09(日) 00:16:02.81ID:SSgQq8CW260デフォルトの名無しさん
2019/06/09(日) 00:17:23.59ID:SSgQq8CW261デフォルトの名無しさん
2019/06/09(日) 00:19:22.44ID:OSjRKT39 むしろプログラマの世界で数式を書くなら、
1/(2*y) だろうな。
1/2y と書けば、普通は、(1/2) * y だろ。
1/(2*y) だろうな。
1/2y と書けば、普通は、(1/2) * y だろ。
262デフォルトの名無しさん
2019/06/09(日) 00:24:01.37ID:SSgQq8CW 数学習った時も掛け算記号は省略できるとか習った覚えが。
あと、割り算と掛け算混ぜたときの結果は項の順番によらないかった覚えが。
寝る。
あと、割り算と掛け算混ぜたときの結果は項の順番によらないかった覚えが。
寝る。
263デフォルトの名無しさん
2019/06/09(日) 00:45:59.55ID:T9jyzIYI264デフォルトの名無しさん
2019/06/09(日) 01:16:32.66ID:zgQq0a06 >>263
数式でも人が紙に書いたかのような表現が使えず1行に無理に押し込める形式にするのならそれなりの工夫が必要だ
数式でも人が紙に書いたかのような表現が使えず1行に無理に押し込める形式にするのならそれなりの工夫が必要だ
265デフォルトの名無しさん
2019/06/09(日) 01:59:59.85ID:RDMRCxQC まず普通の人はあの表記を見ても迷わない
一京歩譲ったとして仮に迷ったとしても与えられた答えを代入すれば猿でも分かる
つまりいちゃもんつけてるのは猿未満
一京歩譲ったとして仮に迷ったとしても与えられた答えを代入すれば猿でも分かる
つまりいちゃもんつけてるのは猿未満
266デフォルトの名無しさん
2019/06/09(日) 02:03:55.91ID:vJOouxE6 自演乙
267デフォルトの名無しさん
2019/06/09(日) 02:08:15.94ID:1JZdgA2h268220
2019/06/09(日) 05:40:38.30ID:rn4C+nSw >>220
Ruby で、
ary = ( 1..4 ).to_a
# 直積・3重ループ
p ary.product( ary, ary ).select { |( x, y, z )|
Rational( 1, x ) + Rational( 1, 2 * y ) + Rational( 1, 3 * z ) == 4/3r }
#=> [[1, 2, 4], [1, 3, 2], [2, 1, 1]]
Ruby で、
ary = ( 1..4 ).to_a
# 直積・3重ループ
p ary.product( ary, ary ).select { |( x, y, z )|
Rational( 1, x ) + Rational( 1, 2 * y ) + Rational( 1, 3 * z ) == 4/3r }
#=> [[1, 2, 4], [1, 3, 2], [2, 1, 1]]
269デフォルトの名無しさん
2019/06/09(日) 08:43:57.74ID:OSjRKT39 >>263 >コード書いたわけじゃなくて普通の数式やがな
普通の数式ってどこの世界での普通なんだ? 普通の数式ならそんな書き方はしないからな。
1/2y を普通の数式として解釈すれば、(1/2) * y が普通の解釈だろ。 左から順に演算されるのが普通(と言うかルール)だからな。
普通の数式ってどこの世界での普通なんだ? 普通の数式ならそんな書き方はしないからな。
1/2y を普通の数式として解釈すれば、(1/2) * y が普通の解釈だろ。 左から順に演算されるのが普通(と言うかルール)だからな。
270デフォルトの名無しさん
2019/06/09(日) 09:08:49.29ID:T9jyzIYI 左からやって普通は1割る2yだろ
普通の数式で1÷2yってあってそう解釈するか?
割る記号の変わりだろ/は
プログラムのコードじゃないぞ
一個目の1/xがないならまだわからんでもないけど
普通の数式で1÷2yってあってそう解釈するか?
割る記号の変わりだろ/は
プログラムのコードじゃないぞ
一個目の1/xがないならまだわからんでもないけど
271デフォルトの名無しさん
2019/06/09(日) 09:18:11.20ID:OSjRKT39272デフォルトの名無しさん
2019/06/09(日) 09:20:36.13ID:OSjRKT39 >>270 お前の異常なところは、2y が優先演算されると思い込んでいるところ。
そこが大きな間違い。
そこが大きな間違い。
273デフォルトの名無しさん
2019/06/09(日) 09:32:55.64ID:T9jyzIYI 中学の文字式の問題といてみたらいいんじゃないかな
274デフォルトの名無しさん
2019/06/09(日) 09:42:13.99ID:1+U3aTMC 教養のない(1/2)派が暴れてて最高に笑えるわ
馬鹿は馬鹿らしく謙虚でいろよ
馬鹿は馬鹿らしく謙虚でいろよ
275デフォルトの名無しさん
2019/06/09(日) 10:16:16.60ID:Gi1Jt9cY 普通とかほざくゴミまで出てきたってことは一番最初の出題者はやっぱりサイコパスだろ
解釈の分れる書き方をワザとしてんだよ
解釈の分れる書き方をワザとしてんだよ
276デフォルトの名無しさん
2019/06/09(日) 10:16:55.57ID:1+U3aTMC いや馬鹿以外は一通りにしか解釈してねえだろ
277デフォルトの名無しさん
2019/06/09(日) 10:28:52.42ID:OSjRKT39278デフォルトの名無しさん
2019/06/09(日) 10:33:43.64ID:dGGyKbbw ID:OSjRKT39 こいつ、仕事もできねえんだろうな
同情するわ……こいつの同僚にw
同情するわ……こいつの同僚にw
279デフォルトの名無しさん
2019/06/09(日) 10:54:03.46ID:8GuoKRFn >>278
具体例も挙げてきちんと論証してるじゃん
具体例も挙げてきちんと論証してるじゃん
280デフォルトの名無しさん
2019/06/09(日) 10:54:55.69ID:wmlwj4f3 まあ理系なら数式見慣れてるし、数式だと 2x でセットと見るから
2x/3y を (2*x*y)/3 と解釈するアホはいないと思う
2x/3y を (2*x*y)/3 と解釈するアホはいないと思う
281デフォルトの名無しさん
2019/06/09(日) 10:57:55.90ID:8GuoKRFn282デフォルトの名無しさん
2019/06/09(日) 10:58:26.13ID:dGGyKbbw >>279
お前は論証という言葉をまず辞書で引け
お前は論証という言葉をまず辞書で引け
283デフォルトの名無しさん
2019/06/09(日) 10:59:01.91ID:8GuoKRFn 理系じゃない人にもやさしい世界の方がよくない?
284デフォルトの名無しさん
2019/06/09(日) 11:00:19.84ID:dGGyKbbw 理系以外にも優しくするのはいいとして馬鹿に優しくする必要は無いだろ
無能な猿が思い上がるだけ
無能な猿が思い上がるだけ
285デフォルトの名無しさん
2019/06/09(日) 11:00:55.16ID:tpC+iRBo キチガイを一人召喚してるな
286デフォルトの名無しさん
2019/06/09(日) 11:00:55.34ID:8GuoKRFn287デフォルトの名無しさん
2019/06/09(日) 11:02:06.44ID:dGGyKbbw >>286
たとい俺より百万倍マシだったとしてもお前がクズな現実は変わらない
たとい俺より百万倍マシだったとしてもお前がクズな現実は変わらない
288デフォルトの名無しさん
2019/06/09(日) 11:02:42.49ID:8GuoKRFn289デフォルトの名無しさん
2019/06/09(日) 11:04:17.16ID:dGGyKbbw 面白いなこいつ
叩けば音が鳴るおもちゃやん
叩けば音が鳴るおもちゃやん
290デフォルトの名無しさん
2019/06/09(日) 11:04:30.99ID:8GuoKRFn >>287
罵詈雑言を言ったら
罵詈雑言を言ったら
291デフォルトの名無しさん
2019/06/09(日) 11:04:57.97ID:8GuoKRFn 自分が賢くなるとでも?
292デフォルトの名無しさん
2019/06/09(日) 11:07:45.90ID:OSjRKT39293デフォルトの名無しさん
2019/06/09(日) 11:07:46.72ID:ycrydNOH で、結局論証ってなんのこと?
どこに論理的な推論があったわけ。
どこに論理的な推論があったわけ。
294デフォルトの名無しさん
2019/06/09(日) 11:09:31.01ID:8GuoKRFn >>293
一般的で具体的な例を上げて説明してたよ
一般的で具体的な例を上げて説明してたよ
295デフォルトの名無しさん
2019/06/09(日) 11:11:12.17ID:8GuoKRFn >>292
はいストローマン論法
はいストローマン論法
296デフォルトの名無しさん
2019/06/09(日) 11:11:47.45ID:8GuoKRFn 君たちは理系なの?
297デフォルトの名無しさん
2019/06/09(日) 11:13:37.36ID:ycrydNOH298デフォルトの名無しさん
2019/06/09(日) 11:15:19.30ID:8GuoKRFn299デフォルトの名無しさん
2019/06/09(日) 11:15:45.10ID:OSjRKT39300デフォルトの名無しさん
2019/06/09(日) 11:19:54.29ID:ycrydNOH wolframやgoogleでのレクシコンが今の議論に一体何の関係があるのだらうか!?
全くの荒唐無稽だと言っておきませうせうせう
全くの荒唐無稽だと言っておきませうせうせう
301デフォルトの名無しさん
2019/06/09(日) 11:24:46.91ID:8GuoKRFn302デフォルトの名無しさん
2019/06/09(日) 11:37:39.19ID:ycrydNOH >>301
君はいい人そうだから強く生きていきませう
君はいい人そうだから強く生きていきませう
303デフォルトの名無しさん
2019/06/09(日) 11:41:33.13ID:8GuoKRFn304デフォルトの名無しさん
2019/06/09(日) 11:41:33.39ID:OSjRKT39 >>300 自分の論証はどこに有る? 例を出せと言ってるのに出せないんだろ?
305デフォルトの名無しさん
2019/06/09(日) 11:43:32.18ID:8GuoKRFn >>304
兄貴、俺たちの勝ちっすね
兄貴、俺たちの勝ちっすね
306デフォルトの名無しさん
2019/06/09(日) 11:46:12.25ID:8GuoKRFn おいお前ら、俺たちのバックにはグーグルがいるんだぞ
307デフォルトの名無しさん
2019/06/09(日) 12:10:10.83ID:SqGEiAZe 物理などの世界では並置優先ルールが有る。
1/ab は、1(a*b) 1/2yは1/(2y)
しかし一般的なプログラミング(コンピュータ)の世界では、並置は存在しないから並置優先ルールもない。
ab は、a、b とは別変数となる。
プログラミングのお題としては、プログラミングルールに従った出し方にすべき。
1/ab は、1(a*b) 1/2yは1/(2y)
しかし一般的なプログラミング(コンピュータ)の世界では、並置は存在しないから並置優先ルールもない。
ab は、a、b とは別変数となる。
プログラミングのお題としては、プログラミングルールに従った出し方にすべき。
308デフォルトの名無しさん
2019/06/09(日) 12:49:50.56ID:W8wtcQAp 1.出題者が複数の解釈のできる曖昧な書き方(1/2y)をした。
2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。
3.一部の回答者はプログラミングや数学的な記法の厳密な解釈として((1/2)y)であるべきとした。
4.3と3を煽る奴らのどうでもいい喧嘩←今ここ
2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。
3.一部の回答者はプログラミングや数学的な記法の厳密な解釈として((1/2)y)であるべきとした。
4.3と3を煽る奴らのどうでもいい喧嘩←今ここ
309デフォルトの名無しさん
2019/06/09(日) 12:50:30.57ID:fheL3UO0 お題をみてそれにあわせたコードをかくのがプログラミングだろ
お題は文章なり数式でプログラミングのルールにのっとる必要はないじゃん
表現が曖昧で複数にとれるようなものは出題者に確認するだけの話だと思うけど
お題は文章なり数式でプログラミングのルールにのっとる必要はないじゃん
表現が曖昧で複数にとれるようなものは出題者に確認するだけの話だと思うけど
310デフォルトの名無しさん
2019/06/09(日) 13:03:13.41ID:Gi1Jt9cY ゴミみたいな書き方する出題者がそもそも悪いでしょ
そういうヤツは除外しなきゃ
叩いて叩いて叩きまくればいいんだよ
そういうヤツは除外しなきゃ
叩いて叩いて叩きまくればいいんだよ
311デフォルトの名無しさん
2019/06/09(日) 13:08:30.37ID:SqGEiAZe 誤解を生まないように書けば良いのにな。
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259
>>5 : 6 10 32 36 44
>>9 : 15 34 35 79
>>11 : 48 (78) 138-139 (140) 142 146 151 154
>>19 :
>>50, https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89
https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202
>>90 : 95 96
>>99 :
>>200 : 214 219
>>215 : 227
>>220 : 232 240 248 256 268
>>235 : 236 237 238 239 247 249 259
313デフォルトの名無しさん
2019/06/09(日) 13:48:39.24ID:7ZWYIG6V314デフォルトの名無しさん
2019/06/09(日) 14:28:03.28ID:zgQq0a06 >>308
> 2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。
多く?そもそも回答者がほとんどいないのでは?
それでもどちらかの解釈で回答した人は居るが、その回答はどちらの解釈が多かった?
> 2.多くの回答者は曖昧さを理解した上で自然に取れる解釈(1/(2y))をした。
多く?そもそも回答者がほとんどいないのでは?
それでもどちらかの解釈で回答した人は居るが、その回答はどちらの解釈が多かった?
315デフォルトの名無しさん
2019/06/09(日) 14:30:26.74ID:zgQq0a06 >>307
それならばそのようなルールで書くと断りを入れてから書くべきだな。
それならばそのようなルールで書くと断りを入れてから書くべきだな。
316デフォルトの名無しさん
2019/06/09(日) 15:51:50.05ID:30kMM31D >>313 並置優先ルールがない世界に、並置優先ルールが有るものだと言う前提で問題を出せば混乱するに決まってる。
そんな仕様書を書いたら即座に首だろ。
(唯一の救いはこの場合答えがあるから、確認することはできたが、確認せずに回答した人がいることも忘れてはならない)
プログラムの世界は、1点の曇りもあってはならない。
そんな仕様書を書いたら即座に首だろ。
(唯一の救いはこの場合答えがあるから、確認することはできたが、確認せずに回答した人がいることも忘れてはならない)
プログラムの世界は、1点の曇りもあってはならない。
317デフォルトの名無しさん
2019/06/09(日) 16:06:31.19ID:BPlIESHh 曖昧さも糞も無いだろ
答えまで書かれてたんだからそれで確認するのが正常な頭脳の持ち主
数学できない阿呆が噛み付いてるだけ
惨めだからもうやめときな
答えまで書かれてたんだからそれで確認するのが正常な頭脳の持ち主
数学できない阿呆が噛み付いてるだけ
惨めだからもうやめときな
318デフォルトの名無しさん
2019/06/09(日) 17:01:23.49ID:wmlwj4f3 単なる匿名掲示板で仕様書ガーとかw
バカにされて悔しいのはわかるけど流石にそろそろアキラメロン
バカにされて悔しいのはわかるけど流石にそろそろアキラメロン
319デフォルトの名無しさん
2019/06/09(日) 17:31:39.31ID:4d8N5HDz 激しい自演と正当化
320デフォルトの名無しさん
2019/06/09(日) 17:55:17.43ID:KzhGDYKc お題:Hello, World!を二進数で出力せよ
321デフォルトの名無しさん
2019/06/09(日) 18:46:11.83ID:iI/aMWbb >>320 Perl5
print map{sprintf'%b ',ord}split'','Hello, World!';
実行
~ $ perl 14_320.pl
1001000 1100101 1101100 1101100 1101111 101100 100000 1010111 1101111 1110010 1101100 1100100 100001
print map{sprintf'%b ',ord}split'','Hello, World!';
実行
~ $ perl 14_320.pl
1001000 1100101 1101100 1101100 1101111 101100 100000 1010111 1101111 1110010 1101100 1100100 100001
322デフォルトの名無しさん
2019/06/09(日) 20:11:20.28ID:v5VOLpEn お題
x=1から始めて一度のステップで
・xに1を足す
・xを2倍する
のいずれかを行うことができます。
正の整数Nが与えられるので、
x=Nに到達するのに必要な最小ステップ数を求めなさい。
N=34
=> 6 (1 -> 2 -> 4 -> 8 -> 16 -> 17 -> 34)
N=1
=> 0
N=10000
=> 17
x=1から始めて一度のステップで
・xに1を足す
・xを2倍する
のいずれかを行うことができます。
正の整数Nが与えられるので、
x=Nに到達するのに必要な最小ステップ数を求めなさい。
N=34
=> 6 (1 -> 2 -> 4 -> 8 -> 16 -> 17 -> 34)
N=1
=> 0
N=10000
=> 17
323デフォルトの名無しさん
2019/06/09(日) 20:18:23.01ID:SSgQq8CW324デフォルトの名無しさん
2019/06/09(日) 20:26:39.07ID:Gi1Jt9cY325デフォルトの名無しさん
2019/06/09(日) 20:58:31.04ID:8GuoKRFn326デフォルトの名無しさん
2019/06/09(日) 21:12:31.05ID:jNBSWirB >>325
桃白白改めミスターポポ改めピラフ改めピッコロさんには少し難しかったかな
桃白白改めミスターポポ改めピラフ改めピッコロさんには少し難しかったかな
327デフォルトの名無しさん
2019/06/09(日) 21:18:39.26ID:OSjRKT39 >>320 Python
print( ['{:08b}'.format(ord(s) ) for s in 'Hello, World!' ] )
# ['01001000', '01100101', '01101100', '01101100', '01101111', '00101100', '00100000', '01010111', '01101111', '01110010', '01101100', '01100100', '00100001']
print( ['{:08b}'.format(ord(s) ) for s in 'Hello, World!' ] )
# ['01001000', '01100101', '01101100', '01101100', '01101111', '00101100', '00100000', '01010111', '01101111', '01110010', '01101100', '01100100', '00100001']
328デフォルトの名無しさん
2019/06/09(日) 21:25:43.55ID:D5Urc2jv329デフォルトの名無しさん
2019/06/09(日) 22:04:49.27ID:OSjRKT39 # >>322 Python 取り敢えずオーソドックスに
def step(n):
for cnt , _ in enumerate( range(n ) ):
if n == 1 : break
n = n//2 if n%2 == 0 else n-1
return cnt
print(step(34)) #6
print(step(10000)) #17
print(step(1)) #0
def step(n):
for cnt , _ in enumerate( range(n ) ):
if n == 1 : break
n = n//2 if n%2 == 0 else n-1
return cnt
print(step(34)) #6
print(step(10000)) #17
print(step(1)) #0
330デフォルトの名無しさん
2019/06/09(日) 22:08:37.43ID:8GuoKRFn331デフォルトの名無しさん
2019/06/09(日) 22:49:04.65ID:OSjRKT39332デフォルトの名無しさん
2019/06/10(月) 10:26:34.05ID:Xpp6HhX6 >>322 Squeak Smalltalk
| fn |
fn := [:n | n bitCount + (n numberOfDigitsInBase: 2) - 2].
fn value: 34. "=> 6 "
fn value: 1. "=> 0 "
fn value: 10000. "=> 17 "
| fn |
fn := [:n | n bitCount + (n numberOfDigitsInBase: 2) - 2].
fn value: 34. "=> 6 "
fn value: 1. "=> 0 "
fn value: 10000. "=> 17 "
333デフォルトの名無しさん
2019/06/11(火) 00:54:15.70ID:aZcuYhl5 >>322
以下みたいに、すべてのステップ数を記録する、表を作っていくのか?
0 step : 1
1 : 2
2 : 3, 4
3 : 4, 6 | 5, 8 => 4, 5, 6, 8
4 : 5, 8 | 6, 10 | 7, 12 | 9, 16 => 5, 6, 7, 8, 9, 10, 12, 16
以下みたいに、すべてのステップ数を記録する、表を作っていくのか?
0 step : 1
1 : 2
2 : 3, 4
3 : 4, 6 | 5, 8 => 4, 5, 6, 8
4 : 5, 8 | 6, 10 | 7, 12 | 9, 16 => 5, 6, 7, 8, 9, 10, 12, 16
334333
2019/06/11(火) 02:58:39.60ID:aZcuYhl5 表を作らなくても、これで良いのか
1. 偶数なら、2で割る
2. 奇数なら、1を引いてから、1へ行く
1. 偶数なら、2で割る
2. 奇数なら、1を引いてから、1へ行く
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- Perfume・あ~ちゃん、一般人男性と結婚wwwwwwwwwwwwwwwwwwwwwwww
- 日本、高市のお陰で破滅に近づくwwwwwwww
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- まみちゃん
- ちっしゃーねーな。俺が習近平のアナルに武力侵攻してきてやるよ
