プログラミングのお題スレです。
【出題と回答例】
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
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/03(日) 11:21:53.20ID:72eosYJ+736デフォルトの名無しさん
2019/03/17(日) 19:54:31.54ID:k04EM+xl >>735
こうやって足し算の筆算とは言え、人間の思考過程をプログラムで再現してみると小学生から結構複雑な処理してるんだなと思う。
もっと人間の処理に近づけるなら文字列として認識して、1桁目を数字に変換して〜みたいになるんだろうけど。
こうやって足し算の筆算とは言え、人間の思考過程をプログラムで再現してみると小学生から結構複雑な処理してるんだなと思う。
もっと人間の処理に近づけるなら文字列として認識して、1桁目を数字に変換して〜みたいになるんだろうけど。
737デフォルトの名無しさん
2019/03/17(日) 22:48:25.97ID:t+AGMGYK >>494
(CSVはコンマ区切りの値だよ)
(CSVはコンマ区切りの値だよ)
738デフォルトの名無しさん
2019/03/17(日) 23:32:46.95ID:wEirTeMQ >>737
カンマを逆から読むとマンコですよ
カンマを逆から読むとマンコですよ
739デフォルトの名無しさん
2019/03/17(日) 23:33:11.60ID:wEirTeMQ 致命的なミスを犯しました
740デフォルトの名無しさん
2019/03/17(日) 23:35:38.92ID:QL30OvU4 許さないからな
741デフォルトの名無しさん
2019/03/18(月) 00:38:16.94ID:9+FFV4Nx >>494 >>496 Perl5
use feature say;
@data = <DATA>;
chomp @data;
@tags = split' ', shift @data;
%idx = map{$_ => $n++} @tags;
@sum = 0 x $n;
for (@data) {
@fs = split' ';
for (0..$n-1) {
$v = $fs[$_];
if ($v =~ /^(\d+\.\d*|\d*\.\d+|\d+)$/) {
$sum[$_] += $v;
} else {
warn "変なデータが紛れ込んでいます_ノ乙(、ン、)_`$v'\n";
}
}
}
for (@tags) {
say "$_ の合計 = ", $sum[$idx{$_}];
}
__DATA__
カラム1 カラム2 カラム3 カラム4
1,0 2.0 3.0 4.0
2.1 3.1 4.1 5.1
~ $ perl 13_494.pl
変なデータが紛れ込んでいます_ノ乙(、ン、)_`1,0'
カラム1 の合計 = 2.1
カラム2 の合計 = 5.1
カラム3 の合計 = 7.1
カラム4 の合計 = 9.1
use feature say;
@data = <DATA>;
chomp @data;
@tags = split' ', shift @data;
%idx = map{$_ => $n++} @tags;
@sum = 0 x $n;
for (@data) {
@fs = split' ';
for (0..$n-1) {
$v = $fs[$_];
if ($v =~ /^(\d+\.\d*|\d*\.\d+|\d+)$/) {
$sum[$_] += $v;
} else {
warn "変なデータが紛れ込んでいます_ノ乙(、ン、)_`$v'\n";
}
}
}
for (@tags) {
say "$_ の合計 = ", $sum[$idx{$_}];
}
__DATA__
カラム1 カラム2 カラム3 カラム4
1,0 2.0 3.0 4.0
2.1 3.1 4.1 5.1
~ $ perl 13_494.pl
変なデータが紛れ込んでいます_ノ乙(、ン、)_`1,0'
カラム1 の合計 = 2.1
カラム2 の合計 = 5.1
カラム3 の合計 = 7.1
カラム4 の合計 = 9.1
742デフォルトの名無しさん
2019/03/18(月) 01:13:14.07ID:4b49AUHf >>738
マンコ・カパックは、インカ神話によるクスコ王国の初代国王である。
マンコ・カパックは、インカ神話によるクスコ王国の初代国王である。
743デフォルトの名無しさん
2019/03/21(木) 03:20:09.08ID:ZuEvTwkR744デフォルトの名無しさん
2019/03/21(木) 05:20:06.50ID:ZuEvTwkR >>675
Kotlin
https://paiza.io/projects/SlCrKgxVJRghtvESdUMR_A
リストの中の最小値をループして探し出しように作っただけなんだけど、こんなんで良いのか?
(MutableListなのでsort()しちゃうという手抜きワザもあったがそれだと表面上分岐が一つもない状態になるので止めた)。
Kotlin
https://paiza.io/projects/SlCrKgxVJRghtvESdUMR_A
リストの中の最小値をループして探し出しように作っただけなんだけど、こんなんで良いのか?
(MutableListなのでsort()しちゃうという手抜きワザもあったがそれだと表面上分岐が一つもない状態になるので止めた)。
745デフォルトの名無しさん
2019/03/21(木) 11:30:55.91ID:4Lv8Ku6J >>494 Squeak Smalltalk。コンマを分割と見なしそれぞれについての和を出力させてみた
| fn |
fn := [:columnName |
FileStream oldFileNamed: 'data.txt' do: [:file |
| index sum |
index := (file nextLine subStrings: ' ') indexOf: columnName.
sum := 0.
[file atEnd] whileFalse: [
| next |
next := ((file nextLine subStrings: ' ') at: index) subStrings: ','.
sum := sum + (next size = 1 ifTrue: [next anyOne] ifFalse: [next])].
sum
]
].
fn value: 'カラム3'. "=> 7.1 "
fn value: 'カラム1'. "=> #(3.1 2.1) "
| fn |
fn := [:columnName |
FileStream oldFileNamed: 'data.txt' do: [:file |
| index sum |
index := (file nextLine subStrings: ' ') indexOf: columnName.
sum := 0.
[file atEnd] whileFalse: [
| next |
next := ((file nextLine subStrings: ' ') at: index) subStrings: ','.
sum := sum + (next size = 1 ifTrue: [next anyOne] ifFalse: [next])].
sum
]
].
fn value: 'カラム3'. "=> 7.1 "
fn value: 'カラム1'. "=> #(3.1 2.1) "
746デフォルトの名無しさん
2019/03/21(木) 13:37:55.15ID:p+hkSRzH お題
長方形の盤で左上から上下左右に一マスずつ移動して全てのマスを
辿る。
移動の順番を表した数字を向きと終点を表す文字(↑↓←→★、
上下左右終、UDLRG、^V<>Gなど)に変換する。
入力
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11
出力
↓→→↓
→↑↓←
↓←→↓
★↑←←
長方形の盤で左上から上下左右に一マスずつ移動して全てのマスを
辿る。
移動の順番を表した数字を向きと終点を表す文字(↑↓←→★、
上下左右終、UDLRG、^V<>Gなど)に変換する。
入力
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11
出力
↓→→↓
→↑↓←
↓←→↓
★↑←←
747デフォルトの名無しさん
2019/03/21(木) 14:37:03.32ID:Krn8F3T2 >>746 Perl5
@a = map{[split]} <DATA>;
for $y (0..$#a) {
$h{$a[$y][$_]} = [$y,$_,''] for 0..$#a;
}
@s = keys %h;
%r = qw{-1,0 ↑ 1,0 ↓ 0,-1 ← 0,1 →};
for $i (1..@s) {
if ($i == @s) {
$d = '★'
} else {
$y = $h{$i+1}->[0] - $h{$i}->[0];
$x = $h{$i+1}->[1] - $h{$i}->[1];
$d = $r{"$y,$x"}
}
$h{$i}->[2] = $d;
}
($y, $x, $d) = @$_, $a[$y][$x] = $d for values %h;
use feature say;
say "@$_" for @a;
__DATA__
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11
実行結果
~ $ perl 13_746.pl
↓ → → ↓
→ ↑ ↓ ←
↓ ← → ↓
★ ↑ ← ←
@a = map{[split]} <DATA>;
for $y (0..$#a) {
$h{$a[$y][$_]} = [$y,$_,''] for 0..$#a;
}
@s = keys %h;
%r = qw{-1,0 ↑ 1,0 ↓ 0,-1 ← 0,1 →};
for $i (1..@s) {
if ($i == @s) {
$d = '★'
} else {
$y = $h{$i+1}->[0] - $h{$i}->[0];
$x = $h{$i+1}->[1] - $h{$i}->[1];
$d = $r{"$y,$x"}
}
$h{$i}->[2] = $d;
}
($y, $x, $d) = @$_, $a[$y][$x] = $d for values %h;
use feature say;
say "@$_" for @a;
__DATA__
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11
実行結果
~ $ perl 13_746.pl
↓ → → ↓
→ ↑ ↓ ←
↓ ← → ↓
★ ↑ ← ←
748デフォルトの名無しさん
2019/03/21(木) 22:33:42.92ID:4Lv8Ku6J >>723 Squeak Smalltalk
| fn |
fn := [:int1 :int2 |
| strings width digits interms ans max line |
strings := {int1. int2} collect: #asString.
width := (strings detectMax: #size) size.
digits := strings collect: [:str |
(str forceTo: width paddingStartWith: $0) reversed asArray collect: #asString].
interms := (digits reduce: #+) collectWithIndex: [:interm :idx |
interm, (String new: idx-1 withAll: Character space)].
ans := interms polynomialEval: '10'.
strings atLast: 1 put: '+ ', strings last.
max := ((strings, {ans}) collect: #size) max.
line := String new: max withAll: $-.
(strings, {line}, interms, {line. ans} collect: [:str |
(str forceTo: max paddingStartWith: Character space) withoutTrailingBlanks
]) asStringWithCr
].
fn value: 987 value: 65. "=>
' 987
+ 65
----
12
14
9
----
1052' "
| fn |
fn := [:int1 :int2 |
| strings width digits interms ans max line |
strings := {int1. int2} collect: #asString.
width := (strings detectMax: #size) size.
digits := strings collect: [:str |
(str forceTo: width paddingStartWith: $0) reversed asArray collect: #asString].
interms := (digits reduce: #+) collectWithIndex: [:interm :idx |
interm, (String new: idx-1 withAll: Character space)].
ans := interms polynomialEval: '10'.
strings atLast: 1 put: '+ ', strings last.
max := ((strings, {ans}) collect: #size) max.
line := String new: max withAll: $-.
(strings, {line}, interms, {line. ans} collect: [:str |
(str forceTo: max paddingStartWith: Character space) withoutTrailingBlanks
]) asStringWithCr
].
fn value: 987 value: 65. "=>
' 987
+ 65
----
12
14
9
----
1052' "
749デフォルトの名無しさん
2019/03/22(金) 05:04:29.93ID:NMDgNTgg750デフォルトの名無しさん
2019/03/22(金) 12:12:43.26ID:bmKj2SZK >>746 Squeak Smalltalk
| fn |
fn := [:str |
| map range sign goal position next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
sign := (0 asPoint fourNeighbors with: #(→ ↓ ← ↑) collect: #->) as: Dictionary.
goal := #★.
position := 1@1. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
(map at: position y) at: position x put: (sign at: found - position ifAbsent: goal).
position := found. next := next + 1.
].
(map collect: #join) asStringWithCr
].
fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11'
"=>
'↓→→↓
→↑↓←
↓←→↓
★↑←←' "
| fn |
fn := [:str |
| map range sign goal position next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
sign := (0 asPoint fourNeighbors with: #(→ ↓ ← ↑) collect: #->) as: Dictionary.
goal := #★.
position := 1@1. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
(map at: position y) at: position x put: (sign at: found - position ifAbsent: goal).
position := found. next := next + 1.
].
(map collect: #join) asStringWithCr
].
fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11'
"=>
'↓→→↓
→↑↓←
↓←→↓
★↑←←' "
751デフォルトの名無しさん
2019/03/22(金) 20:50:59.33ID:KB/r9SyN752デフォルトの名無しさん
2019/03/22(金) 21:14:53.89ID:97922Y7I まだ見にくいなあ。線を繋いで矢印を入れることはできないかな。
753デフォルトの名無しさん
2019/03/22(金) 21:41:47.96ID:nZ/OoXFx 罫線
│┌─┐
└┘┌┘
┌┐└┐
★└─┘
直線部に矢印
│┌→┐
└┘┌┘
┌┐└┐
★└←┘
こんな感じ?
│┌─┐
└┘┌┘
┌┐└┐
★└─┘
直線部に矢印
│┌→┐
└┘┌┘
┌┐└┐
★└←┘
こんな感じ?
754デフォルトの名無しさん
2019/03/22(金) 21:43:03.63ID:nZ/OoXFx スタート部も矢印に出来るやん…
↓┌→┐
└┘┌┘
┌┐└┐
★└←┘
↓┌→┐
└┘┌┘
┌┐└┐
★└←┘
755747
2019/03/22(金) 23:30:54.68ID:DMg7GUli code、プリーズ
756デフォルトの名無しさん
2019/03/23(土) 01:24:21.91ID:Bvojjkpo757デフォルトの名無しさん
2019/03/23(土) 01:27:24.77ID:Bvojjkpo 罫線や矢印が半角で★が全角で表示されてしまうとずれるな。
ま、しょうがないか。
ま、しょうがないか。
758デフォルトの名無しさん
2019/03/23(土) 02:35:34.66ID:FcxASXew759デフォルトの名無しさん
2019/03/23(土) 05:47:57.62ID:ZlGSstH0 >>754 Squeak Smalltalk
| fn |
fn := [:str |
| map range signs sign goal position from next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
goal := #★. signs := #(┌ ┌ ← → └ └ ┐ ┐ ↑ ↓ ┘ ┘) readStream.
sign := Dictionary new.
0 asPoint fourNeighbors combinations: 2 atATimeDo: [:combi |
sign at: combi copy put: signs next; at: combi reversed put: signs next].
position := 1@1. from := nil. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found delta |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
delta := found - position.
(map at: position y) at: position x put: (sign at: {from ifNil: [delta negated]. delta} ifAbsent: goal).
position := found. from := delta negated. next := next + 1].
(map collect: #join) asStringWithCr
].
fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11' .
"=>
'↓┌→┐
└┘┌┘
┌┐└┐
★└←┘' "
| fn |
fn := [:str |
| map range signs sign goal position from next atEnd |
map := str lines collect: [:line | line subStrings collect: #asInteger].
range := 1@1 extent: map first size @ map size.
goal := #★. signs := #(┌ ┌ ← → └ └ ┐ ┐ ↑ ↓ ┘ ┘) readStream.
sign := Dictionary new.
0 asPoint fourNeighbors combinations: 2 atATimeDo: [:combi |
sign at: combi copy put: signs next; at: combi reversed put: signs next].
position := 1@1. from := nil. next := 2. atEnd := false.
[atEnd] whileFalse: [
| found delta |
found := position fourNeighbors detect: [:neighPos |
(range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next]
] ifNone: [atEnd := true. Float nan].
delta := found - position.
(map at: position y) at: position x put: (sign at: {from ifNil: [delta negated]. delta} ifAbsent: goal).
position := found. from := delta negated. next := next + 1].
(map collect: #join) asStringWithCr
].
fn value: '1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11' .
"=>
'↓┌→┐
└┘┌┘
┌┐└┐
★└←┘' "
760デフォルトの名無しさん
2019/03/23(土) 06:18:42.67ID:ZlGSstH0 >>759 758の入力例を拝借
fn value: '1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9'.
"=>
'→→→→┐
┌→→┐↓
↑┌★↓↓
↑└←┘↓
└←←←┘' "
fn value: '1 4 5 8 9 12
2 3 6 7 10 11'.
"=>
'↓┌┐┌┐★
└┘└┘└┘' "
fn value: '1 4 5 6
2 3 8 7
16 14 9 10
15 13 12 11' .
"=> 繋げられるところまでで終点にする。
'↓┌→┐
└┘┌┘
16★└┐
15└←┘' "
fn value: '1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9'.
"=>
'→→→→┐
┌→→┐↓
↑┌★↓↓
↑└←┘↓
└←←←┘' "
fn value: '1 4 5 8 9 12
2 3 6 7 10 11'.
"=>
'↓┌┐┌┐★
└┘└┘└┘' "
fn value: '1 4 5 6
2 3 8 7
16 14 9 10
15 13 12 11' .
"=> 繋げられるところまでで終点にする。
'↓┌→┐
└┘┌┘
16★└┐
15└←┘' "
761デフォルトの名無しさん
2019/03/23(土) 22:17:53.61ID:4V4ijAbJ S : Start
E : End
X : 行けない所
で、表す方がよいかも
E : End
X : 行けない所
で、表す方がよいかも
762デフォルトの名無しさん
2019/03/23(土) 23:35:50.10ID:4ExQ31KE 縦読み
763デフォルトの名無しさん
2019/03/23(土) 23:49:28.93ID:5/UQAxw+ >>761
セックス!
セックス!
764デフォルトの名無しさん
2019/03/24(日) 01:17:54.50ID:TWBa+gHA765デフォルトの名無しさん
2019/03/24(日) 13:31:32.22ID:Vlgf6sT0 お題 :次のようなジョブパラメータで表されるジョブ(製造工程)があります。全て完成するための最小時間とマシンスケジュールを求めてください。貧乏なので同じ番号のマシンは一台しかありません。{A, B}とあれば;Aマシン番号、B:所要時間
int job_param[JOBNUM][STP][2] = {
{{3, 10}, {4, 10}, {2, 12}, {0, 18}, {1, 4}},
{{1, 11}, {2, 6}, {3, 2}, {4, 8}, {0, 15}},
{{2, 10}, {4, 16}, {3, 2}, {1, 8}, {0, 14}},
{{2, 15}, {1, 12}, {0, 16}, {3, 6}, {4, 17}},
{{4, 14}, {0, 2}, {1, 15}, {2, 6}, {3, 10}}};
int job_param[JOBNUM][STP][2] = {
{{3, 10}, {4, 10}, {2, 12}, {0, 18}, {1, 4}},
{{1, 11}, {2, 6}, {3, 2}, {4, 8}, {0, 15}},
{{2, 10}, {4, 16}, {3, 2}, {1, 8}, {0, 14}},
{{2, 15}, {1, 12}, {0, 16}, {3, 6}, {4, 17}},
{{4, 14}, {0, 2}, {1, 15}, {2, 6}, {3, 10}}};
766デフォルトの名無しさん
2019/03/24(日) 13:50:50.08ID:ynFGlX0q767デフォルトの名無しさん
2019/03/24(日) 13:56:04.93ID:xOvhcY6B >>766
5つのタスクでそれぞれ5つの工程があるってことだろう
5つのタスクでそれぞれ5つの工程があるってことだろう
768デフォルトの名無しさん
2019/03/24(日) 14:40:55.72ID:ynFGlX0q >>767
その辺の制限やルールが書かれていないからどうやれば良いのかが分からない、ということ。
順序も何もかも(マシン番号と所要時間も)入れ替えて構わないなら0〜4のマシン全体に所要時間を平均的に
詰め込むだけになると思うが、わざわざジョブとか分けてるんだからどうやらそうではなさそうだよな。
どうやら順序や入れ替えには制限があるように見える。しかしその制限が書かれていない。
その辺の制限やルールが書かれていないからどうやれば良いのかが分からない、ということ。
順序も何もかも(マシン番号と所要時間も)入れ替えて構わないなら0〜4のマシン全体に所要時間を平均的に
詰め込むだけになると思うが、わざわざジョブとか分けてるんだからどうやらそうではなさそうだよな。
どうやら順序や入れ替えには制限があるように見える。しかしその制限が書かれていない。
769デフォルトの名無しさん
2019/03/24(日) 17:03:38.93ID:Ou399CfX770デフォルトの名無しさん
2019/03/24(日) 17:35:40.10ID:Ou399CfX >>769
途中結果
Solution 4
COST_TIME: 95
0 : ( 3, 0, 10), ( 4, 15, 25), ( 2, 27, 39), ( 0, 46, 64), ( 1, 65, 69)
1 : ( 1, 0, 11), ( 2, 40, 46), ( 3, 54, 56), ( 4, 57, 65), ( 0, 80, 95)
2 : ( 2, 16, 26), ( 4, 27, 43), ( 3, 44, 46), ( 1, 47, 55), ( 0, 65, 79)
3 : ( 2, 0, 15), ( 1, 16, 28), ( 0, 29, 45), ( 3, 47, 53), ( 4, 66, 83)
4 : ( 4, 0, 14), ( 0, 15, 17), ( 1, 29, 44), ( 2, 47, 53), ( 3, 57, 67)
MACHIN Schedule
0 : (46, 64), (80, 95), (65, 79), (29, 45), (15, 17)
1 : (65, 69), ( 0, 11), (47, 55), (16, 28), (29, 44)
2 : (27, 39), (40, 46), (16, 26), ( 0, 15), (47, 53)
3 : ( 0, 10), (54, 56), (44, 46), (47, 53), (57, 67)
4 : (15, 25), (57, 65), (27, 43), (66, 83), ( 0, 14)
途中結果
Solution 4
COST_TIME: 95
0 : ( 3, 0, 10), ( 4, 15, 25), ( 2, 27, 39), ( 0, 46, 64), ( 1, 65, 69)
1 : ( 1, 0, 11), ( 2, 40, 46), ( 3, 54, 56), ( 4, 57, 65), ( 0, 80, 95)
2 : ( 2, 16, 26), ( 4, 27, 43), ( 3, 44, 46), ( 1, 47, 55), ( 0, 65, 79)
3 : ( 2, 0, 15), ( 1, 16, 28), ( 0, 29, 45), ( 3, 47, 53), ( 4, 66, 83)
4 : ( 4, 0, 14), ( 0, 15, 17), ( 1, 29, 44), ( 2, 47, 53), ( 3, 57, 67)
MACHIN Schedule
0 : (46, 64), (80, 95), (65, 79), (29, 45), (15, 17)
1 : (65, 69), ( 0, 11), (47, 55), (16, 28), (29, 44)
2 : (27, 39), (40, 46), (16, 26), ( 0, 15), (47, 53)
3 : ( 0, 10), (54, 56), (44, 46), (47, 53), (57, 67)
4 : (15, 25), (57, 65), (27, 43), (66, 83), ( 0, 14)
771デフォルトの名無しさん
2019/03/24(日) 20:02:05.47ID:TWBa+gHA772デフォルトの名無しさん
2019/03/24(日) 22:58:01.17ID:3fqiTHWE773デフォルトの名無しさん
2019/03/25(月) 12:18:06.31ID:7aW5s/71 ……プログラミングやっててガントチャートしらないヤツもいるのか
勉強になった
勉強になった
774デフォルトの名無しさん
2019/03/25(月) 12:23:06.98ID:T0osdeZX 名前知らなかっただけでは?
775デフォルトの名無しさん
2019/03/25(月) 12:26:24.36ID:VWPF1Bqz ロシア国防省「東アジアの地震の多い某国は数十年にわたり、地震を偽装した地下核実験を繰り返している」
https://rosie.5ch.net/test/read.cgi/liveplus/1550888671/l50
自衛隊の中に熊本人工地震を発生させた連中がいることは震源地が自衛隊駐屯地地下であることから自明。
http://open.mixi.jp/user/38378433/diary/1953066799
そればかりか、いま熊本の地下から出ている放射線量が「謎の赤丸急上昇中」だというのだ。
https://quasimoto2.exblog.jp/22729487/
今、自民党政権が、原発再稼働を進めている本当の理由は、核武装計画だけである。
経済的にとっくに破綻した原子力発電など、最初から眼中にないのだ。
東海アマブログentry-688.html
https://rosie.5ch.net/test/read.cgi/liveplus/1550888671/l50
自衛隊の中に熊本人工地震を発生させた連中がいることは震源地が自衛隊駐屯地地下であることから自明。
http://open.mixi.jp/user/38378433/diary/1953066799
そればかりか、いま熊本の地下から出ている放射線量が「謎の赤丸急上昇中」だというのだ。
https://quasimoto2.exblog.jp/22729487/
今、自民党政権が、原発再稼働を進めている本当の理由は、核武装計画だけである。
経済的にとっくに破綻した原子力発電など、最初から眼中にないのだ。
東海アマブログentry-688.html
776デフォルトの名無しさん
2019/03/25(月) 14:02:28.57ID:FL0Sj0Av いちいちガントチャートなんて銘打たんしな
進捗管理するときには普通に使うもんだ
進捗管理するときには普通に使うもんだ
777デフォルトの名無しさん
2019/03/25(月) 14:57:20.21ID:T0osdeZX みんな名前知らないけど気づいたら作ってるようなものじゃないか?
778デフォルトの名無しさん
2019/03/25(月) 21:13:29.59ID:wbp6GG9F ナップザック問題の一種じゃないの?
779デフォルトの名無しさん
2019/03/26(火) 00:12:39.41ID:xyG5xdoY お題1: 整数値に対して K, M, G 等の単位を付けて人間に読みやすく文字列に変換して出力する。(ls -lh の時の容量の出力と同じで良い)。2^10 = K, 2^20 = M, 2^30 = G とする。
小数点以下を何桁にするかはご自由に。但しあまりあり過ぎると人間には分かり辛いので1桁か2桁が望ましい。
お題2: お題1の逆変換。但し欠落した下位桁があったとしても考慮しなくて良い。
お題3: お題1, お題2 の10^3 = K, 10^6 = M, 10^9 = G 版。
回答のプログラムはまとめた形でも良い。例えばお題1を処理する関数のオプションとして0を与えると2^10単位、1を与えると10^3単位にするなど。
また、K, M, G よりも上の単位ができても良い。
小数点以下を何桁にするかはご自由に。但しあまりあり過ぎると人間には分かり辛いので1桁か2桁が望ましい。
お題2: お題1の逆変換。但し欠落した下位桁があったとしても考慮しなくて良い。
お題3: お題1, お題2 の10^3 = K, 10^6 = M, 10^9 = G 版。
回答のプログラムはまとめた形でも良い。例えばお題1を処理する関数のオプションとして0を与えると2^10単位、1を与えると10^3単位にするなど。
また、K, M, G よりも上の単位ができても良い。
780デフォルトの名無しさん
2019/03/26(火) 03:32:10.56ID:xI3rzKRA いまどき容量系の接頭辞はKi, Mi, Gi使えや
781デフォルトの名無しさん
2019/03/26(火) 03:42:21.20ID:xyG5xdoY >>780
そうしたければそうしてもいいよ。
そうしたければそうしてもいいよ。
782デフォルトの名無しさん
2019/03/26(火) 13:05:28.20ID:8ujFPLE9 お題1と3まとめてswitch-case文って
筋悪いですかねえ
あるいはお題1とお題2をまとめて、enum型でINVERSEとか作るとか、あるいは TRUE / FALSE で分岐とか
筋悪いですかねえ
あるいはお題1とお題2をまとめて、enum型でINVERSEとか作るとか、あるいは TRUE / FALSE で分岐とか
783デフォルトの名無しさん
2019/03/26(火) 19:22:41.61ID:NbUyZWCM 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 95286
https://you-can-program.hatenablog.jp
https://you-can-program.hatenablog.jp
784デフォルトの名無しさん
2019/03/27(水) 00:34:27.07ID:KJlt8YQv785デフォルトの名無しさん
2019/03/27(水) 23:48:37.99ID:oM4knkxt786さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/28(木) 00:18:20.27ID:JS1PpMcc Windows付属のshlwapi.dllにStrFormatByteSizeという関数があるようだね。
787デフォルトの名無しさん
2019/03/28(木) 17:17:39.60ID:vvqhH31/788デフォルトの名無しさん
2019/03/30(土) 20:23:23.36ID:ghZBhzgh お題
表示画面におさまる最大の正三角形を描画する
表示画面におさまる最大の正三角形を描画する
789デフォルトの名無しさん
2019/03/30(土) 23:07:23.94ID:DyxzEuK/ つまらん次
790デフォルトの名無しさん
2019/03/31(日) 08:20:57.83ID:JrOSOdLx >>788
最大の定義ぐらい書けよ…
最大の定義ぐらい書けよ…
791デフォルトの名無しさん
2019/03/31(日) 13:16:21.13ID:m8dr8/PB792デフォルトの名無しさん
2019/03/31(日) 13:25:41.80ID:+5DxT57L ん?
その場合、一辺は400*2/sqrt(3)になるんじゃない?
その場合、一辺は400*2/sqrt(3)になるんじゃない?
793デフォルトの名無しさん
2019/03/31(日) 13:28:01.88ID:EfWeZY5f >>791
高さ400の正三角形だと一辺461.88じゃね?
高さ400の正三角形だと一辺461.88じゃね?
794デフォルトの名無しさん
2019/03/31(日) 15:30:18.52ID:uX30LzG9 怒涛のツッコミw
795デフォルトの名無しさん
2019/03/31(日) 19:30:51.59ID:KJRyWF55 コンソール画面なら、画面の横幅と縦幅を取得しなきゃならんから言語によってはめんどくさいだろうな
標準でcurses使える言語ってなにがあるかな
標準でcurses使える言語ってなにがあるかな
796デフォルトの名無しさん
2019/03/31(日) 20:25:37.50ID:P4y0w1jO 表示画面が球体だったら…
797デフォルトの名無しさん
2019/04/01(月) 00:15:16.48ID:ucc1UNjR リーマン幾何の多様体上で計算しとけ
なお、サラリーマンのリーンマン じゃないからな。
なお、サラリーマンのリーンマン じゃないからな。
798デフォルトの名無しさん
2019/04/01(月) 01:51:36.50ID://wZRuJn でしゃばんな
799デフォルトの名無しさん
2019/04/01(月) 03:15:46.62ID:Mx+j7LaB Windows環境だとdirectx叩くことになるのかな
VT100とかXとかは全く知らないけど DisplayWidth とか DisplayHeight とか使うのか
あるいは何らかのクラスのメンバー関数を呼ぶのか
VT100とかXとかは全く知らないけど DisplayWidth とか DisplayHeight とか使うのか
あるいは何らかのクラスのメンバー関数を呼ぶのか
800デフォルトの名無しさん
2019/04/01(月) 03:16:52.56ID:Mx+j7LaB >>795
pdcursesがあるじゃないか(あらゆる環境で使えるとは言ってない
pdcursesがあるじゃないか(あらゆる環境で使えるとは言ってない
801デフォルトの名無しさん
2019/04/15(月) 22:24:58.61ID:pFhU6MbP エスケープシーケンスで座標指定とか文字色変更って、今はできないんだっけ?
802デフォルトの名無しさん
2019/04/15(月) 23:06:48.83ID:1nT5zSFt エスケープシーケンス powershell
で、ググってみ
で、ググってみ
803デフォルトの名無しさん
2019/04/16(火) 09:06:19.32ID:wCqxjGzR >>801
文字を出す端末による。
WindowsだったとしてもWSLでUbuntu動かした時のbashの端末では使えてるので多分設定次第なんだろうな。
逆に言うと設定によっては意図した通りに動かない。
文字を出す端末による。
WindowsだったとしてもWSLでUbuntu動かした時のbashの端末では使えてるので多分設定次第なんだろうな。
逆に言うと設定によっては意図した通りに動かない。
804デフォルトの名無しさん
2019/04/16(火) 16:33:57.42ID:wCqxjGzR お題
アミダくじの作成、表示、及び余力があれば実行
・縦線の本数と横線の最大本数は入力できるようにする。
・左右の縦線への横線だけでなく飛び越えて他の縦線へ移動する横線もオプションで作れるようにする。
・表示方法は罫線キャラクタを使っても良いがGUI等他の方法でも良い。
・実行時はアニメーションでも良いし、いきなり結果が出るだけでも良い。
・面倒なら作成して表示するだけで実行しなくても良い。
アミダくじの作成、表示、及び余力があれば実行
・縦線の本数と横線の最大本数は入力できるようにする。
・左右の縦線への横線だけでなく飛び越えて他の縦線へ移動する横線もオプションで作れるようにする。
・表示方法は罫線キャラクタを使っても良いがGUI等他の方法でも良い。
・実行時はアニメーションでも良いし、いきなり結果が出るだけでも良い。
・面倒なら作成して表示するだけで実行しなくても良い。
805デフォルトの名無しさん
2019/04/16(火) 16:45:06.33ID:GDkTCt4E N88-BASIC(86)で出来そうな気がするが
806デフォルトの名無しさん
2019/04/16(火) 17:51:22.60ID:wCqxjGzR ・PC-8001で動作すること。
いや、動かんでもいい。
いや、動かんでもいい。
807デフォルトの名無しさん
2019/04/16(火) 18:37:53.31ID:GDkTCt4E PRINT CHR$(12)
808デフォルトの名無しさん
2019/04/16(火) 18:38:10.10ID:GDkTCt4E CONSOLE 80,25,0,1
だっけ
だっけ
809デフォルトの名無しさん
2019/04/16(火) 18:40:11.47ID:GDkTCt4E 10 WIDTH 80,25
からか…
からか…
810デフォルトの名無しさん
2019/04/16(火) 18:46:35.84ID:GDkTCt4E DEFINTA-Z:PRINT"HOW MANY COLUMNS":INPUTA:A0=160/A
811デフォルトの名無しさん
2019/04/18(木) 19:26:49.12ID:pJc8eu0c お題:要素数が同じふたつの数値配列を受け取り、要素ごとに足した配列を返す。
中級:同様に、三つの配列を受け取る。
上級:同様に、三つの配列を受け取り、掛けて割ったもの返す。
ocaml
https://ideone.com/GyC6yJ
octave
https://ideone.com/NwYyqs
中級:同様に、三つの配列を受け取る。
上級:同様に、三つの配列を受け取り、掛けて割ったもの返す。
ocaml
https://ideone.com/GyC6yJ
octave
https://ideone.com/NwYyqs
812デフォルトの名無しさん
2019/04/18(木) 21:28:55.51ID:47ewAOC/ 簡単過ぎる、次
813デフォルトの名無しさん
2019/04/18(木) 23:26:27.73ID:izaVyiw1 >>811 Squeak/Pharo Smalltalk
#(1 2 3) + #(4 5 6). "=> #(5 7 9) "
#((1 2 3) (4 5 6) (7 8 9)) sum. "=> #(12 15 18) "
#(1 2 3) * #(4 5 6) / #(7 8 9). "=> {(4/7) . (5/4) . 2} "
#(1 2 3) + #(4 5 6). "=> #(5 7 9) "
#((1 2 3) (4 5 6) (7 8 9)) sum. "=> #(12 15 18) "
#(1 2 3) * #(4 5 6) / #(7 8 9). "=> {(4/7) . (5/4) . 2} "
814デフォルトの名無しさん
2019/04/19(金) 00:02:01.58ID:ODUYGH1G お題そのものは簡単でも、マイナー言語での解き方を見るのは面白いね
815デフォルトの名無しさん
2019/04/19(金) 00:09:49.99ID:fWzUUJvd 自演乙
816デフォルトの名無しさん
2019/04/19(金) 07:15:46.60ID:TxABBsFf >>811
main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b / c) [1,2,3] [4,5,6] [7,8,9]
Out:
[5,7,9]
[12,15,18]
[0.571428571428571,1.25,2.0]
main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b / c) [1,2,3] [4,5,6] [7,8,9]
Out:
[5,7,9]
[12,15,18]
[0.571428571428571,1.25,2.0]
817デフォルトの名無しさん
2019/04/19(金) 08:40:44.50ID:TxABBsFf >>813
Haskellでは%記号が分数を表すので、Data.Ratioをインポートして
import Data.Ratio
main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b % c) [1,2,3] [4,5,6] [7,8,9]
Out:
[5,7,9]
[12,15,18]
[4 % 7,5 % 4,2 % 1]
Haskellでは%記号が分数を表すので、Data.Ratioをインポートして
import Data.Ratio
main = do
print $ zipWith (+) [1,2,3] [4,5,6]
print $ zipWith3 (\a b c -> a + b + c) [1,2,3] [4,5,6] [7,8,9]
print $ zipWith3 (\a b c -> a * b % c) [1,2,3] [4,5,6] [7,8,9]
Out:
[5,7,9]
[12,15,18]
[4 % 7,5 % 4,2 % 1]
818デフォルトの名無しさん
2019/04/20(土) 12:21:00.80ID:R45IcBKG お題:円の中心の座標と、円の半径の2乗が与えられる。
この円の円周上にある格子点の数を求めよ。
(X座標 Y座標 半径の2乗)
9/22 5/22 138125/242 => 7
7/38 5/38 785817263725/722 => 77
17/38 13/38 13603053979519731025/722 => 777
9/38 6/38 23959256988683736880737131790625/1444 => ?
12/38 7/38 23959256988683736880737131790625/1444 => ?
15/38 14/38 23959256988683736880737131790625/1444 => ?
この円の円周上にある格子点の数を求めよ。
(X座標 Y座標 半径の2乗)
9/22 5/22 138125/242 => 7
7/38 5/38 785817263725/722 => 77
17/38 13/38 13603053979519731025/722 => 777
9/38 6/38 23959256988683736880737131790625/1444 => ?
12/38 7/38 23959256988683736880737131790625/1444 => ?
15/38 14/38 23959256988683736880737131790625/1444 => ?
819デフォルトの名無しさん
2019/04/20(土) 18:57:22.37ID:4zW2+iPl また数学か・・・
820デフォルトの名無しさん
2019/04/20(土) 19:51:50.54ID:JrfgKJuX しょっちゅう出てくるけどこれ宿題か?
821デフォルトの名無しさん
2019/04/20(土) 23:55:49.29ID:R45IcBKG 宿題じゃないんやけどなー
12/38 7/38 23959256988683736880737131790625/1444 => ? の答えと円周上の格子点一覧…俺が間違えてなければ
https://pastebin.com/pnGbWPfM
12/38 7/38 23959256988683736880737131790625/1444 => ? の答えと円周上の格子点一覧…俺が間違えてなければ
https://pastebin.com/pnGbWPfM
822デフォルトの名無しさん
2019/04/21(日) 00:12:56.57ID:E83GoNC+ コードを出せコードを!
823デフォルトの名無しさん
2019/04/21(日) 01:28:16.84ID:TAIIcaTj プログラムでの解き方が思い付かないわ
円の方程式に整数代入して満たすかみればいいのか?
円の方程式に整数代入して満たすかみればいいのか?
824デフォルトの名無しさん
2019/04/21(日) 02:14:46.56ID:H/Se0iAi 解法を考えるのも回答能力のうちだからね
今の時代、参照・検索も当然 可だけれど
今の時代、参照・検索も当然 可だけれど
825デフォルトの名無しさん
2019/04/21(日) 06:09:56.50ID:/+hkU7cH >>817
割り算が%とか、そのモジュール書いた奴、頭腐ってんじゃないの?
割り算が%とか、そのモジュール書いた奴、頭腐ってんじゃないの?
826デフォルトの名無しさん
2019/04/21(日) 13:14:42.53ID:ay9waDdy827デフォルトの名無しさん
2019/04/21(日) 14:45:56.49ID:/+hkU7cH やっぱ頭腐ってるな。
828デフォルトの名無しさん
2019/04/24(水) 20:43:26.25ID:NALZs80Z お題: 日本語の文章の句読点を , や . に置き換える。
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。
例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。
例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.
829デフォルトの名無しさん
2019/04/24(水) 20:50:03.68ID:WcGowxU3 しょうもな
830デフォルトの名無しさん
2019/04/24(水) 20:51:59.82ID:Y8OSWYHv 文末のスペースが消えてないやん
どっちやねん
どっちやねん
831デフォルトの名無しさん
2019/04/24(水) 20:52:14.50ID:NALZs80Z お題: 簡易なテーブルを綺麗に整形する
余力があればカラムの左揃え、右揃えをオプションで選択できるようにする(出力は中央揃え)
入力:
a|aaaaa|bb
ccc|ddd|ee
出力:
**a***|*aaaaa*|***bb*
------+-------+------
*ccc**|**ddd**|***ee*
余力があればカラムの左揃え、右揃えをオプションで選択できるようにする(出力は中央揃え)
入力:
a|aaaaa|bb
ccc|ddd|ee
出力:
**a***|*aaaaa*|***bb*
------+-------+------
*ccc**|**ddd**|***ee*
832デフォルトの名無しさん
2019/04/24(水) 20:54:35.53ID:NALZs80Z833デフォルトの名無しさん
2019/04/24(水) 21:01:38.43ID:Y8OSWYHv bとeが中央じゃなくね
834デフォルトの名無しさん
2019/04/24(水) 21:05:36.09ID:NALZs80Z >>833
例に使ったスクリプトがバグってた
例に使ったスクリプトがバグってた
835デフォルトの名無しさん
2019/04/24(水) 22:36:14.15ID:lwqMqFKi 左のaとcもおかしい
836デフォルトの名無しさん
2019/04/24(水) 23:50:33.64ID:NSCbK96M 各列の文字数は一致する必要があるのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【スパイト行動】俺のコ,ードを入れれば1500円貰えるのに、俺に1500円をやりたくないからやらない ⇐これが日本人ってやつか… [201193242]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
