プログラミングのお題スレです。
【出題と回答例】
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.2ch.net/test/read.cgi/tech/1538096947/
プログラミングのお題スレ Part13
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2019/02/03(日) 11:21:53.20ID:72eosYJ+878デフォルトの名無しさん
2019/05/10(金) 08:21:41.55ID:Z1uC1A15 >>875
python
def chain(n):
lst = []
if n < 1: raise ValueError("Please n > 0 number")
while n != 1:
lst.append(n)
if n % 2 == 0: n //= 2
else: n = n * 3 + 1
lst.append(1)
return lst
for i in [10,1,30,0]: print(chain(i))
python
def chain(n):
lst = []
if n < 1: raise ValueError("Please n > 0 number")
while n != 1:
lst.append(n)
if n % 2 == 0: n //= 2
else: n = n * 3 + 1
lst.append(1)
return lst
for i in [10,1,30,0]: print(chain(i))
879デフォルトの名無しさん
2019/05/10(金) 08:24:53.49ID:Z1uC1A15 >>875
Haskell
main = mapM_ (print.chain) [10,1,30,0]
chain 1 = [1]
chain n | n < 1 = error "Please n > 0 number"
chain n | even n = n:chain (n `div` 2)
chain n = n:chain (n * 3 + 1)
Haskell
main = mapM_ (print.chain) [10,1,30,0]
chain 1 = [1]
chain n | n < 1 = error "Please n > 0 number"
chain n | even n = n:chain (n `div` 2)
chain n = n:chain (n * 3 + 1)
880デフォルトの名無しさん
2019/05/10(金) 11:11:44.01ID:VtNtFyvg881デフォルトの名無しさん
2019/05/10(金) 11:56:36.34ID:sggjdX/2883デフォルトの名無しさん
2019/05/10(金) 12:30:05.58ID:k7gY5pMP >>877
出力は、行列番号が0から始まるとして
文字,列番号、行番号 だと思うから c の列番号は間違ってるんじゃないの?
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 4, 0] << 5じゃなくて4だろ。
[d, 0, 2]
出力は、行列番号が0から始まるとして
文字,列番号、行番号 だと思うから c の列番号は間違ってるんじゃないの?
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 4, 0] << 5じゃなくて4だろ。
[d, 0, 2]
884デフォルトの名無しさん
2019/05/10(金) 12:47:01.79ID:6xQjM2XG >>876,880
この問題、入門書から抜粋したけど次に1ー100の間に長さ15以上は何個あるかとか出てるから、
Cだとリストから作らないといけないのは分かるが、リスト返す様にした方が仕様変更に強いと思う。
この問題、入門書から抜粋したけど次に1ー100の間に長さ15以上は何個あるかとか出てるから、
Cだとリストから作らないといけないのは分かるが、リスト返す様にした方が仕様変更に強いと思う。
885デフォルトの名無しさん
2019/05/10(金) 12:53:54.51ID:KAkBQh2y 宿題誘導か
最近のアホは小賢しいな
最近のアホは小賢しいな
886デフォルトの名無しさん
2019/05/10(金) 13:27:19.10ID:k7gY5pMP >>877 python
st = '''a b c
d
'''
line = 0 ; col = 0
for c in st :
__if c == '\n' :
____line += 1
____col = 0
____continue
__if c != ' ' :
____print ('['+c, col,str(line)+']', sep=',')
__col += 1
st = '''a b c
d
'''
line = 0 ; col = 0
for c in st :
__if c == '\n' :
____line += 1
____col = 0
____continue
__if c != ' ' :
____print ('['+c, col,str(line)+']', sep=',')
__col += 1
887デフォルトの名無しさん
2019/05/10(金) 13:40:11.78ID:k7gY5pMP >>886 出力フォーマットが
['a', 0, 0]
['b', 2, 0]
['c', 4, 0]
['d', 0, 2]
でもよければ print文は簡単になる
print ([c, col,line])
['a', 0, 0]
['b', 2, 0]
['c', 4, 0]
['d', 0, 2]
でもよければ print文は簡単になる
print ([c, col,line])
889デフォルトの名無しさん
2019/05/10(金) 15:12:02.76ID:bODSyEKx >>888 手抜きすんな面白くない
890デフォルトの名無しさん
2019/05/10(金) 15:43:29.85ID:aTy0NCJ4891デフォルトの名無しさん
2019/05/10(金) 17:50:33.37ID:58PV3kUA >>875,884 Squeak Smalltalk
| chain |
chain := [:n |
Array streamContents: [:ss |
ss nextPut: n.
[n > 1] whileTrue: [ss nextPut: (n := n even ifTrue: [n / 2] ifFalse: [n * 3 + 1])]
]
].
chain value: 10. "=> #(10 5 16 8 4 2 1) "
(1 to: 100) count: [:n | (chain value: n) size >= 15] "=> 71 "
| chain |
chain := [:n |
Array streamContents: [:ss |
ss nextPut: n.
[n > 1] whileTrue: [ss nextPut: (n := n even ifTrue: [n / 2] ifFalse: [n * 3 + 1])]
]
].
chain value: 10. "=> #(10 5 16 8 4 2 1) "
(1 to: 100) count: [:n | (chain value: n) size >= 15] "=> 71 "
892デフォルトの名無しさん
2019/05/10(金) 20:05:13.80ID:0Zlxa6bH >>875
Perl のワンライナー。
perl -ne '$n=$_;chomp($n);@d=($n);while($n!=1){$n=$n&1?($n*3+1):($n/2);push(@d,$n)}print "[".join(", ", @d)."]\n"'
実行する場合はbash等のシェルから行う(シングルクォートの中がそのままperlに引き渡されさえすれば他のシェルでも良い)。
標準入力から1行1データで入力して結果を出力するようにした。
Perl のワンライナー。
perl -ne '$n=$_;chomp($n);@d=($n);while($n!=1){$n=$n&1?($n*3+1):($n/2);push(@d,$n)}print "[".join(", ", @d)."]\n"'
実行する場合はbash等のシェルから行う(シングルクォートの中がそのままperlに引き渡されさえすれば他のシェルでも良い)。
標準入力から1行1データで入力して結果を出力するようにした。
893デフォルトの名無しさん
2019/05/10(金) 20:29:31.76ID:/+/am3CQ >>890
27のとき112個
31のとき107個
10億くらいまで回したけど、これら以外なくね?
数列の初期値と長さは、初期値が小さいうちは同じくらいだが、初期値を大きくしても数列の長さはさほど伸びない。
ttps://imgur.com/wm0kCEQ
グラフはxが大きくなるほど飛ばす間隔も大きくしてあるからあまり正確ではない。
27のとき112個
31のとき107個
10億くらいまで回したけど、これら以外なくね?
数列の初期値と長さは、初期値が小さいうちは同じくらいだが、初期値を大きくしても数列の長さはさほど伸びない。
ttps://imgur.com/wm0kCEQ
グラフはxが大きくなるほど飛ばす間隔も大きくしてあるからあまり正確ではない。
894デフォルトの名無しさん
2019/05/10(金) 21:48:47.85ID:LM2YqzO0895デフォルトの名無しさん
2019/05/10(金) 22:09:58.71ID:KAkBQh2y ZDDやるなら出来合いのもの使って終わりじゃねえの?
https://github.com/junkawahara/frontier-basic
https://hs-nazuna.github.io/tdzdd-manual/intro.html
https://github.com/junkawahara/frontier-basic
https://hs-nazuna.github.io/tdzdd-manual/intro.html
896デフォルトの名無しさん
2019/05/11(土) 11:54:01.37ID:Ze1v8w/9 >>875 Perl5
sub chain {
my $i = shift;
$i == 1 ? $i : ($i, ($i & 1 ? chain(3*$i + 1) : chain($i / 2)))
}
for (qw{10 1 30}) {
@a = chain $_;
print "[@a]\n";
}
実行
~ $ perl 13_875_collatz.pl
[10 5 16 8 4 2 1]
[1]
[30 15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1]
sub chain {
my $i = shift;
$i == 1 ? $i : ($i, ($i & 1 ? chain(3*$i + 1) : chain($i / 2)))
}
for (qw{10 1 30}) {
@a = chain $_;
print "[@a]\n";
}
実行
~ $ perl 13_875_collatz.pl
[10 5 16 8 4 2 1]
[1]
[30 15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1]
897デフォルトの名無しさん
2019/05/11(土) 12:16:05.54ID:Ze1v8w/9 >>877 Perl5
@in = map{[split'']} map{split '\n'} <<EOF;
a b c
d
EOF
for $j (0..$#in) {
for $i (0..$#{$in[$j]}) {
$c = $in[$j][$i];
print "[$c,$i,$j]\n" if $c =~ /\w/;
}
}
実行
~ $ perl 13_877.pl
[a,0,0]
[b,2,0]
[c,4,0]
[d,0,2]
@in = map{[split'']} map{split '\n'} <<EOF;
a b c
d
EOF
for $j (0..$#in) {
for $i (0..$#{$in[$j]}) {
$c = $in[$j][$i];
print "[$c,$i,$j]\n" if $c =~ /\w/;
}
}
実行
~ $ perl 13_877.pl
[a,0,0]
[b,2,0]
[c,4,0]
[d,0,2]
898デフォルトの名無しさん
2019/05/11(土) 13:06:48.39ID:bKjSBhWB >>875
Ruby で
module Collatz
def self.next_number( num )
if num.even? # 偶数
num / 2
else # 奇数
num * 3 + 1
end
end
def self.chain( num )
@@results = [ ]
tmp = num
while true
@@results.push tmp
break if tmp == 1
tmp = next_number( tmp )
end
@@results
end
end
[ 1, 27 ].each do | num |
p Collatz.chain( num )
end
Ruby で
module Collatz
def self.next_number( num )
if num.even? # 偶数
num / 2
else # 奇数
num * 3 + 1
end
end
def self.chain( num )
@@results = [ ]
tmp = num
while true
@@results.push tmp
break if tmp == 1
tmp = next_number( tmp )
end
@@results
end
end
[ 1, 27 ].each do | num |
p Collatz.chain( num )
end
899デフォルトの名無しさん
2019/05/11(土) 18:55:11.91ID:fAbbaveG900デフォルトの名無しさん
2019/05/11(土) 20:54:08.94ID:wddfxsLz ideone.comはMATLABに対応してないのね。
書いてみた後で気がついた。
書いてみた後で気がついた。
901デフォルトの名無しさん
2019/05/11(土) 23:44:29.57ID:fAbbaveG902デフォルトの名無しさん
2019/05/12(日) 02:01:10.46ID:FbICTnq7903デフォルトの名無しさん
2019/05/12(日) 06:46:28.87ID:R9TUiFuu >>875
コラッツ樹で作れば出力を減らせる。
コラッツ樹で作れば出力を減らせる。
904デフォルトの名無しさん
2019/05/14(火) 02:59:08.35ID:3xJ0OqNt >>877
Kotlin
https://paiza.io/projects/Aab0mA1WSwXHnHL2049hCA
for や while ループ使わずに forEachIndexed で入れ子にしてみました。
Kotlin
https://paiza.io/projects/Aab0mA1WSwXHnHL2049hCA
for や while ループ使わずに forEachIndexed で入れ子にしてみました。
905デフォルトの名無しさん
2019/05/14(火) 09:26:15.81ID:zeev4Evh >>877
Ruby で
text = <<"EOT"
a b c
d
EOT
re = /[^ ]+/ # 空白以外
text.each_line.with_index do | line, idx | # 1行ずつ処理する
line.strip! # trim
# $~.begin は、マッチした先頭文字の位置
line.scan( re ) { puts "[" + [ $~.to_s, $~.begin(0), idx ].join( ", " ) + "]" }
end
Ruby で
text = <<"EOT"
a b c
d
EOT
re = /[^ ]+/ # 空白以外
text.each_line.with_index do | line, idx | # 1行ずつ処理する
line.strip! # trim
# $~.begin は、マッチした先頭文字の位置
line.scan( re ) { puts "[" + [ $~.to_s, $~.begin(0), idx ].join( ", " ) + "]" }
end
906デフォルトの名無しさん
2019/05/14(火) 10:07:03.30ID:rKVVoOG1907デフォルトの名無しさん
2019/05/14(火) 14:12:15.49ID:8QdSJZ63 >>905
空白以外は\Sでマッチするぞ
空白以外は\Sでマッチするぞ
908デフォルトの名無しさん
2019/05/14(火) 23:52:44.04ID:AtHJrRxM >>877 Squeak Smalltalk
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line reject: #isSeparator) asArray
collect: [:chr | {chr. (line indexOf: chr) - 1. lIdx - 1}]]
) concatenation select: #notEmpty) asStringWithCr
].
fn value: 'a b c
d'
"=>
'#($a 0 0)
#($b 2 0)
#($c 4 0)
#($d 0 2)' "
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line reject: #isSeparator) asArray
collect: [:chr | {chr. (line indexOf: chr) - 1. lIdx - 1}]]
) concatenation select: #notEmpty) asStringWithCr
].
fn value: 'a b c
d'
"=>
'#($a 0 0)
#($b 2 0)
#($c 4 0)
#($d 0 2)' "
909デフォルトの名無しさん
2019/05/15(水) 01:06:44.65ID:tCUIeJeC >>908 smalltalk って全く知らないけど、最後が出力のつもり?
だったらお題の出力フォーマットと似ても似つかないじゃん。
だったらお題の出力フォーマットと似ても似つかないじゃん。
910デフォルトの名無しさん
2019/05/15(水) 03:57:52.07ID:i8y0s24p いや似てる
911デフォルトの名無しさん
2019/05/15(水) 04:50:48.17ID:TsVBVaTo >>877 Squeak/Pharo Smalltalk
出力はともかく同行に同文字があるとダメだった^^;ので>>908 差し替え
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line asArray collectWithIndex: [:chr :cIdx | {chr. cIdx - 1. lIdx - 1}]
) reject: [:each | each first isSeparator]]
) concatenation
select: #notEmpty thenCollect: [:each | '[{1}, {2}, {3}]' format: each]) asStringWithCr
].
fn value: 'a b c
d'
"=>
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2] "
出力はともかく同行に同文字があるとダメだった^^;ので>>908 差し替え
| fn |
fn := [:str |
((str lines collectWithIndex: [:line :lIdx |
(line asArray collectWithIndex: [:chr :cIdx | {chr. cIdx - 1. lIdx - 1}]
) reject: [:each | each first isSeparator]]
) concatenation
select: #notEmpty thenCollect: [:each | '[{1}, {2}, {3}]' format: each]) asStringWithCr
].
fn value: 'a b c
d'
"=>
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2] "
912905
2019/05/15(水) 09:57:59.71ID:AfKgri37913デフォルトの名無しさん
2019/05/15(水) 23:43:58.92ID:jmndeABE914デフォルトの名無しさん
2019/05/16(木) 01:50:16.53ID:4fy8zsNP >>913
C以外は助長だな
C以外は助長だな
915デフォルトの名無しさん
2019/05/16(木) 03:57:55.40ID:6BLr95cC916デフォルトの名無しさん
2019/05/16(木) 08:25:20.49ID:MujhV/Cm >>913 故意にpython 外しはずるい。
>>877 python
https://ideone.com/yvFuOl
printフォーマットは、コメントにしたpython3.6のf文字列の方がシンプルだが、ideone は3.5しかないのでformat文にした。
>>877 python
https://ideone.com/yvFuOl
printフォーマットは、コメントにしたpython3.6のf文字列の方がシンプルだが、ideone は3.5しかないのでformat文にした。
917デフォルトの名無しさん
2019/05/16(木) 10:18:52.91ID:YVMjr/q8918デフォルトの名無しさん
2019/05/16(木) 14:34:08.16ID:YVMjr/q8919デフォルトの名無しさん
2019/05/16(木) 19:26:40.27ID:ktv4pd0R920デフォルトの名無しさん
2019/05/16(木) 20:28:13.91ID:3sIrlJF4 お題
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1
921デフォルトの名無しさん
2019/05/16(木) 21:00:21.83ID:/dAesd8e923デフォルトの名無しさん
2019/05/16(木) 22:59:47.34ID:0eZXbfha >>920 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
| sorted |
sorted := arr asSet sorted.
arr collect: [:x | sorted indexOf: x]
].
fn value: #(-6 3 9 5 3 -7). "=> #(2 3 5 4 3 1) "
| fn |
fn := [:arr |
| sorted |
sorted := arr asSet sorted.
arr collect: [:x | sorted indexOf: x]
].
fn value: #(-6 3 9 5 3 -7). "=> #(2 3 5 4 3 1) "
924913
2019/05/16(木) 23:00:52.84ID:02wuysYU >>877 ocaml
https://ideone.com/waZZh7
・自分に正直になってrefとforループで書いた
>>914
じょ、助長…
>>916
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)
https://ideone.com/waZZh7
・自分に正直になってrefとforループで書いた
>>914
じょ、助長…
>>916
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)
925デフォルトの名無しさん
2019/05/16(木) 23:34:17.56ID:YXKZQo24 >>923 Perl5
@a = qw{-6 3 9 5 3 -7};
$h{$_}=1 for @a;
%o = map{$_=>++$i} sort{$a<=>$b} keys %h;
@b = map{$o{$_}} @a;
print "@a => @b\n";
実行
~ $ perl 13_920.pl
-6 3 9 5 3 -7 => 2 3 5 4 3 1
@a = qw{-6 3 9 5 3 -7};
$h{$_}=1 for @a;
%o = map{$_=>++$i} sort{$a<=>$b} keys %h;
@b = map{$o{$_}} @a;
print "@a => @b\n";
実行
~ $ perl 13_920.pl
-6 3 9 5 3 -7 => 2 3 5 4 3 1
926デフォルトの名無しさん
2019/05/16(木) 23:42:11.94ID:YXKZQo24927デフォルトの名無しさん
2019/05/16(木) 23:44:54.09ID:02wuysYU928デフォルトの名無しさん
2019/05/17(金) 00:26:31.35ID:SI3/qEwo >>888 Pharo/Squeak Smalltalk
| fn |
fn := [:arr |
String streamContents: [:ss |
| cIdx lIdx |
cIdx := lIdx := 0.
arr do: [:spec |
spec third > lIdx ifTrue: [
ss nextPutAll: (String new: spec third - lIdx withAll: Character cr).
lIdx := spec third.
cIdx := 0
].
ss nextPutAll: (String new: spec second - cIdx withAll: Character space).
ss nextPutAll: spec first.
cIdx := spec second + 1.
]
]
].
fn value: #(
(a 0 0)
(b 2 0)
(c 4 0)
(d 0 2)).
"=>
a b c
d "
| fn |
fn := [:arr |
String streamContents: [:ss |
| cIdx lIdx |
cIdx := lIdx := 0.
arr do: [:spec |
spec third > lIdx ifTrue: [
ss nextPutAll: (String new: spec third - lIdx withAll: Character cr).
lIdx := spec third.
cIdx := 0
].
ss nextPutAll: (String new: spec second - cIdx withAll: Character space).
ss nextPutAll: spec first.
cIdx := spec second + 1.
]
]
].
fn value: #(
(a 0 0)
(b 2 0)
(c 4 0)
(d 0 2)).
"=>
a b c
d "
929デフォルトの名無しさん
2019/05/17(金) 00:35:47.85ID:HrEfbPs9930デフォルトの名無しさん
2019/05/17(金) 00:55:59.72ID:TuAgku6e 最近jニキ来ないな
931デフォルトの名無しさん
2019/05/17(金) 01:23:24.98ID:UHIjSpei932デフォルトの名無しさん
2019/05/17(金) 07:54:47.22ID:9a+COZnd >>888
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
r=parse('[{},{},{}]',l)
c= r[0]
col2 = int(r[1]) ; line2 = int(r[2])
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
r=parse('[{},{},{}]',l)
c= r[0]
col2 = int(r[1]) ; line2 = int(r[2])
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
933デフォルトの名無しさん
2019/05/17(金) 08:32:11.25ID:9a+COZnd >>932 parse に型指定追加
>>888 Python
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
(c,col2,line2) = parse('[{},{:d},{:d}]',l)
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
>>888 Python
s = '''\
[a, 0, 0]
[b, 2, 0]
[c, 4, 0]
[d, 0, 2]
'''
from parse import * #pip install
col2 = 0 ; line2 = 0
for l in s.splitlines():
col = col2 ; line = line2
(c,col2,line2) = parse('[{},{:d},{:d}]',l)
{print() for _ in range(line2-line) }
{print(' ',end='') for _ in range(col2-col)}
print(c, end='')
col2 += 1
print()
'''#出力
a b c
d
'''
934デフォルトの名無しさん
2019/05/17(金) 12:14:50.20ID:8VLhbVxR >>920
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!
935デフォルトの名無しさん
2019/05/17(金) 12:23:14.18ID:99nnd/tf >>934
うるせぇ死ね
うるせぇ死ね
936デフォルトの名無しさん
2019/05/17(金) 12:39:09.53ID:L8EHraRu 難しく書いてたけど結局これだけなのか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか
937デフォルトの名無しさん
2019/05/17(金) 12:49:18.63ID:ut9H1r3U プログラム作る前に気づいたので>>931のリンク先のブログラムのタイトルは密かに「順位」にしといたw
938デフォルトの名無しさん
2019/05/17(金) 12:50:56.11ID:l82uGMBO >>936
わざと難しく見せかけているというより、たんに説明が下手なだけだと思う
わざと難しく見せかけているというより、たんに説明が下手なだけだと思う
939デフォルトの名無しさん
2019/05/17(金) 13:23:46.56ID:gFFtTihX 別に難しくない件
940デフォルトの名無しさん
2019/05/17(金) 13:29:01.98ID:L8EHraRu そうですね
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません
941デフォルトの名無しさん
2019/05/17(金) 13:36:08.80ID:/5AjAxyT >ランク付けだと分かるまで何人が挑戦するかを試してみる
まさにそうじゃないの?
まさにそうじゃないの?
942デフォルトの名無しさん
2019/05/17(金) 13:44:50.72ID:mxL0YWmq943デフォルトの名無しさん
2019/05/17(金) 14:08:19.69ID:gFFtTihX >>940
アスペ
アスペ
944デフォルトの名無しさん
2019/05/17(金) 14:08:53.72ID:gFFtTihX 問題文を添削しちゃう皆さん
945デフォルトの名無しさん
2019/05/17(金) 14:20:43.10ID:gFFtTihX946デフォルトの名無しさん
2019/05/17(金) 15:06:17.59ID:Jb6joIEA さすがにいちゃもん付け過ぎだろ
元の問題文読めば普通はわかるだろ
元の問題文読めば普通はわかるだろ
947デフォルトの名無しさん
2019/05/17(金) 15:51:11.97ID:99nnd/tf 問題: おっぱいをなるべく小さくせよ。
948デフォルトの名無しさん
2019/05/17(金) 16:00:34.70ID:ut9H1r3U949デフォルトの名無しさん
2019/05/17(金) 16:18:22.99ID:X2USxdO3 お題:自然数を隙間なく自分自身以外の数に対応させよ。
950デフォルトの名無しさん
2019/05/17(金) 16:46:21.83ID:9GdSR9hc >>949 先生、対応させると言う日本語がわかりません。
日本人には難しいです。
日本人には難しいです。
951デフォルトの名無しさん
2019/05/17(金) 17:04:52.99ID:ut9H1r3U >>949
君が何を言っているのかわからない。
君が何を言っているのかわからない。
952デフォルトの名無しさん
2019/05/17(金) 17:24:51.97ID:L8EHraRu >>949
パッ見で分からん
パッ見で分からん
953デフォルトの名無しさん
2019/05/17(金) 18:07:07.73ID:nEasvejW 偶数なら1引く
奇数なら1足すとかでいいんじゃないの
奇数なら1足すとかでいいんじゃないの
954デフォルトの名無しさん
2019/05/17(金) 18:39:31.46ID:9GdSR9hc >>953 良いんじゃないのじゃなくて、他の人が理解できる言葉に翻訳してよ。
これじゃ小学校の国語で平均点以下だろ。
日本語が不自由ならプログラム例を示せば良い。変な言語はダメだけど、C系の素直な言語なら万国共通
これじゃ小学校の国語で平均点以下だろ。
日本語が不自由ならプログラム例を示せば良い。変な言語はダメだけど、C系の素直な言語なら万国共通
955デフォルトの名無しさん
2019/05/17(金) 19:30:38.86ID:Jb6joIEA 要はf: N -> N の∀n∈N f(n) ≠ n かつ全単射な写像を求めろってことでしょ
956デフォルトの名無しさん
2019/05/17(金) 19:35:23.29ID:Jb6joIEA あ、単射じゃなくてもいいか
957デフォルトの名無しさん
2019/05/17(金) 19:40:06.71ID:9GdSR9hc >>955 あのさ、それで人に通じると思ってるの?
そんな仕様書を書いて誰がコーディングするんだよ。
日本語に翻訳して明後日出直してこい。
言語能力にかけてるやつは、自分の頭の中が周りの人からスケスケに見えてると言う妄想を持ってる。
狭い世界で通用しても社会では通用しない。
そんな仕様書を書いて誰がコーディングするんだよ。
日本語に翻訳して明後日出直してこい。
言語能力にかけてるやつは、自分の頭の中が周りの人からスケスケに見えてると言う妄想を持ってる。
狭い世界で通用しても社会では通用しない。
958デフォルトの名無しさん
2019/05/17(金) 19:47:34.60ID:9GdSR9hc ここまで何人もの人がわからんと言ってるのは、その仕様を出した人間の素質が失格という事だろ。
それを何で庇うんだ? 庇う理由を説明してみろよ。 ここがバカばかりと思うならバカに解るように説明しろよな。
バカにわからせなければ、PLは務まらないよ。
と言うか、仕事は一般人としてるのに何をトチ狂ってるんだ? かなり精神を疑うな。
それを何で庇うんだ? 庇う理由を説明してみろよ。 ここがバカばかりと思うならバカに解るように説明しろよな。
バカにわからせなければ、PLは務まらないよ。
と言うか、仕事は一般人としてるのに何をトチ狂ってるんだ? かなり精神を疑うな。
959デフォルトの名無しさん
2019/05/17(金) 19:50:16.70ID:Jb6joIEA 教養のないやつに限ってブチ切れる
960デフォルトの名無しさん
2019/05/17(金) 20:11:05.80ID:KIX3RA0i >>947
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください
961デフォルトの名無しさん
2019/05/17(金) 20:11:56.63ID:9a+COZnd >>959 で、どんな問題なんだ? プログラミングできる仕様として出してくれよ。
963デフォルトの名無しさん
2019/05/17(金) 20:46:06.10ID:Jb6joIEA964デフォルトの名無しさん
2019/05/17(金) 20:48:13.95ID:99nnd/tf 顔射は普通に使う単語ですか?
966デフォルトの名無しさん
2019/05/17(金) 21:06:32.38ID:ut9H1r3U >>964
はい。
はい。
967デフォルトの名無しさん
2019/05/17(金) 21:09:38.99ID:Jb6joIEA968デフォルトの名無しさん
2019/05/17(金) 21:30:53.57ID:0M7uQZeH 920だが、ランク付けだと解が236531と解釈される可能性が有ったので避けた
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……
969デフォルトの名無しさん
2019/05/17(金) 22:36:31.21ID:gcMK/Ofn 数値のリストを入力し、値の小さい順に1から順位を付けて、
順位のリストを出力する。同じ値は同じ順位とする
順位のリストを出力する。同じ値は同じ順位とする
970デフォルトの名無しさん
2019/05/17(金) 22:47:54.41ID:TGYryIO4 ほんとそれ
ピラフ改めピッコロはさっさと自害しろ
ピラフ改めピッコロはさっさと自害しろ
971デフォルトの名無しさん
2019/05/17(金) 23:20:58.53ID:L8EHraRu972デフォルトの名無しさん
2019/05/17(金) 23:47:24.37ID:xYITnAAv >>971
あくまで俺の推測だが
一例として、自分自身の数が3のとき自然数から3を除去して
(1) 1, 2, 3, 4, 5, 6, ...
↓
(2) 1, 2, NULL, 4, 5, 6, ...
NULLになった部分をなくすために4以降を左へシフトする
(3) 1, 2, 4, 5, 6, 7, ...
こんな感じで(1)の入力を(3)のような出力にする関数じゃないか?
ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、
定数関数でもハッシュ関数でもいいはず。
ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。
あくまで俺の推測だが
一例として、自分自身の数が3のとき自然数から3を除去して
(1) 1, 2, 3, 4, 5, 6, ...
↓
(2) 1, 2, NULL, 4, 5, 6, ...
NULLになった部分をなくすために4以降を左へシフトする
(3) 1, 2, 4, 5, 6, 7, ...
こんな感じで(1)の入力を(3)のような出力にする関数じゃないか?
ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、
定数関数でもハッシュ関数でもいいはず。
ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。
973デフォルトの名無しさん
2019/05/18(土) 00:15:42.42ID:w6U4ewGf974デフォルトの名無しさん
2019/05/18(土) 01:03:14.81ID:bbC9YGRR >>942
乙、見事。
乙、見事。
975デフォルトの名無しさん
2019/05/18(土) 01:57:48.06ID:jjK+y75q976デフォルトの名無しさん
2019/05/18(土) 02:15:29.87ID:jjK+y75q977デフォルトの名無しさん
2019/05/18(土) 07:46:37.95ID:w6U4ewGf >>920 Python
ol = [-6, 3, 9, 5, 3, -7]
print([ sorted(set(ol)).index(x)+1 for x in ol ] )
# [2, 3, 5, 4, 3, 1]
ol = [-6, 3, 9, 5, 3, -7]
print([ sorted(set(ol)).index(x)+1 for x in ol ] )
# [2, 3, 5, 4, 3, 1]
レス数が950を超えています。1000を超えると書き込みができなくなります。
