プログラミングのお題スレ Part13at TECH
プログラミングのお題スレ Part13 - 暇つぶし2ch750:デフォルトの名無しさん
19/03/17 12:19:22.82 gm8A83sV.net
自転車修理屋さんが機械に強いけどコードなんて、かけなさそう

751:デフォルトの名無しさん
19/03/17 12:38:59.54 TUY5K+QC.net
>>728 Perl5
for (<DATA>) {
 ($l, $o, $r) = split;
 @l = $l =~ /(\d?)(\d)/;
 @r = $r =~ /(\d?)(\d)/;
 $a1 = $l[0] + $r[0];
 $a0 = $l[1] + $r[1];
 @a1 = $a1 =~ /(\d?)(\d)/;
 @a0 = $a0 =~ /(\d?)(\d)/;
 $a = 10*$a1 + $a0;
 $" = '';
 print <<"EOF";
@l
$o@r
---
@a1
@a0
---
$a
EOF
}
__DATA__
29 + 15
29 + 5

752:デフォルトの名無しさん
19/03/17 12:40:50.32 TUY5K+QC.net
>>735 の実行結果
~ $ perl 13_723.pl
29
+15
---
3
14
---
44
29
+5
---
2
14
---
34
せっかくのスペース調整が詰まっちゃって残念なのでアンカーでポップアップして見てね
>>736

753:デフォルトの名無しさん
19/03/17 12:41:06.87 PfKDQB+U.net
>>730 C++
URLリンク(ideone.com)

754:デフォルトの名無しさん
19/03/17 13:19:09.72 k04EM+xl.net
>>728
掛け算に対応したり、1桁どうしの計算用フォーマット作ったりしてたら規模がでかくなった(・ω・`)
1
* 2
-----
2
10
* 0
-----
0
Haskell
URLリンク(ideone.com)

755:デフォルトの名無しさん
19/03/17 13:39:28.89 yIqzgq0g.net
>>686 Common Lisp
URLリンク(ideone.com)

756:デフォルトの名無しさん
19/03/17 18:42:43.38 7j/Zhhp5.net
>>728 ネタ回答: WolframAlpha API / node
// index.js
const {get} = require('http');
const appid = '<<YOUR WolframAlpha APP ID>>';
process.stdin.on('data', data => {
get(`URLリンク(api.wolframalpha.com)(data.toString().trim())}&podstate=Result__Step-by-step+solution&format=image&output=json`, res => {
res.setEncoding('utf8');
let body = '';
res.on('data', chunk => {body += chunk;});
res.on('end', () => {
get(JSON.parse(body).queryresult.pods.filter(({title}) => title === 'Results')[0].subpods.filter(({title}) => title === 'Possible intermediate steps')[0].img.src, res => {
res.on('data', data => {process.stdout.write(data)});
});
});
});
});
$ echo 29+15 | node . > ./test1.gif
URLリンク(i.imgur.com)
$ echo 29+5 | node . > ./test2.gif
URLリンク(i.imgur.com)
$ echo 29*15 | node . > ./test3.gif
URLリンク(i.imgur.com)
試しに一桁×一桁やってみたらなんだか微妙な計算過程に…
$ echo 5*5 | node . > ./test.gif
URLリンク(i.imgur.com)
あと割り算はAPIからでは計算過程のURL取れなかった

757:デフォルトの名無しさん
19/03/17 19:54:31.54 k04EM+xl.net
>>740
こうやって足し算の筆算とは言え、人間の思考過程をプログラムで再現してみると小学生から結構複雑な処理してるんだなと思う。
もっと人間の処理に近づけるなら文字列として認識して、1桁目を数字に変換して~みたいになるんだろうけど。

758:デフォルトの名無しさん
19/03/17 22:48:25.97 t+AGMGYK.net
>>494
(CSVはコンマ区切りの値だよ)

759:デフォルトの名無しさん
19/03/17 23:32:46.95 wEirTeMQ.net
>>742
カンマを逆から読むとマンコですよ

760:デフォルトの名無しさん
19/03/17 23:33:11.60 wEirTeMQ.net
致命的なミスを犯しました

761:デフォルトの名無しさん
19/03/17 23:35:38.92 QL30OvU4.net
許さないからな

762:デフォルトの名無しさん
19/03/18 00:38:16.94 9+FFV4Nx.net
>>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

763:デフォルトの名無しさん
19/03/18 01:13:14.07 4b49AUHf.net
>>743
マンコ・カパックは、インカ神話によるクスコ王国の初代国王である。

764:デフォルトの名無しさん
19/03/21 03:20:09.08 ZuEvTwkR.net
>>728
Kotlin
URLリンク(paiza.io)

765:デフォルトの名無しさん
19/03/21 05:20:06.50 ZuEvTwkR.net
>>680
Kotlin
URLリンク(paiza.io)
リストの中の最小値をループして探し出しように作っただけなんだけど、こんなんで良いのか?
(MutableListなのでsort()しちゃうという手抜きワザもあったがそれだと表面上分岐が一つもない状態になるので止めた)。

766:デフォルトの名無しさん
19/03/21 11:30:55.91 4Lv8Ku6J.net
>>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) "

767:デフォルトの名無しさん
19/03/21 13:37:55.15 p+hkSRzH.net
お題
長方形の盤で左上から上下左右に一マスずつ移動して全てのマスを
辿る。
移動の順番を表した数字を向きと終点を表す文字(↑↓←→★、
上下左右終、UDLRG、^V<>Gなど)に変換する。
入力
1 4 5 6
2 3 8 7
15 14 9 10
16 13 12 11
出力
↓→→↓
→↑↓←
↓←→↓
★↑←←

768:デフォルトの名無しさん
19/03/21 14:37:03.32 Krn8F3T2.net
>>751 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
↓ → → ↓
→ ↑ ↓ ←
↓ ← → ↓
★ ↑ ← ←

769:デフォルトの名無しさん
19/03/21 22:33:42.92 4Lv8Ku6J.net
>>728 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 padd


770:ingStartWith: $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' "



771:デフォルトの名無しさん
19/03/22 05:04:29.93 NMDgNTgg.net
>>751
Kotlin
URLリンク(paiza.io)

772:デフォルトの名無しさん
19/03/22 12:12:43.26 bmKj2SZK.net
>>751 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'
"=>
'↓→→↓
→↑↓←
↓←→↓
★↑←←' "

773:デフォルトの名無しさん
19/03/22 20:50:59.33 KB/r9SyN.net
>>751 octave
URLリンク(ideone.com)

774:デフォルトの名無しさん
19/03/22 21:14:53.89 97922Y7I.net
まだ見にくいなあ。線を繋いで矢印を入れることはできないかな。

775:デフォルトの名無しさん
19/03/22 21:41:47.96 nZ/OoXFx.net
罫線
│┌─┐
└┘┌┘
┌┐└┐
★└─┘
直線部に矢印
│┌→┐
└┘┌┘
┌┐└┐
★└←┘
こんな感じ?

776:デフォルトの名無しさん
19/03/22 21:43:03.63 nZ/OoXFx.net
スタート部も矢印に出来るやん…
↓┌→┐
└┘┌┘
┌┐└┐
★└←┘

777:747
19/03/22 23:30:54.68 DMg7GUli.net
code、プリーズ

778:デフォルトの名無しさん
19/03/23 01:24:21.91 Bvojjkpo.net
>>759
Kotlin
URLリンク(paiza.io)
>>754 を改造して作った。

779:デフォルトの名無しさん
19/03/23 01:27:24.77 Bvojjkpo.net
罫線や矢印が半角で★が全角で表示されてしまうとずれるな。
ま、しょうがないか。

780:デフォルトの名無しさん
19/03/23 02:35:34.66 FcxASXew.net
>>751 Common Lisp
URLリンク(ideone.com)

781:デフォルトの名無しさん
19/03/23 05:47:57.62 ZlGSstH0.net
>>759 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' .
"=>
'↓┌→┐
└┘┌┘
┌┐└┐
★└←┘' "

782:デフォルトの名無しさん
19/03/23 06:18:42.67 ZlGSstH0.net
>>764 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└←┘' "

783:デフォルトの名無しさん
19/03/23 22:17:53.61 4V4ijAbJ.net
S : Start
E : End
X : 行けない所
で、表す方がよいかも

784:デフォルトの名無しさん
19/03/23 23:35:50.10 4ExQ31KE.net
縦読み

785:デフォルトの名無しさん
19/03/23 23:49:28.93 5/UQAxw+.net
>>766
セックス!

786:デフォルトの名無しさん
19/03/24 01:17:54.50 TWBa+gHA.net
>>751 C
URLリンク(ideone.com)
行けないところがある場合■で表示した

787:デフォルトの名無しさん
19/03/24 13:31:32.22 Vlgf6sT0.net
お題 :次のようなジョブパラメータで表されるジョブ(製造工程)があります。全て完成するための最小時間とマシンスケジュールを求めてください。貧乏なので同じ番号のマシンは一台しかありません。{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}}};

788:デフォルトの名無しさん
19/03/24 13:50:50.08 ynFGlX0q.net
>>770
順序に対する制限とかは?
それとなんで5つに分かれているのか?
全部一塊で25個のマシン番号と所要時間のペアがある状態だと順序の関係で何かまずいのか?

789:デフォルトの名無しさん
19/03/24 13:56:04.93 xOvhcY6B.net
>>771
5つのタスクでそれぞれ5つの工程があるってことだろう

790:デフォルトの名無しさん
19/03/24 14:40:55.72 ynFGlX0q.net
>>772
その辺の制限やルールが書かれていないからどうやれば良いのかが分からない、ということ。
順序も何もかも(マシン番号と所要時間も)入れ替えて構わないなら0~4のマシン全体に所要時間を平均的に
詰め込むだけになると思うが、わざわざジョブとか分けてるんだからどうやらそうではなさそうだよな。
どうやら順序や入れ替えには制限があるように見える。しかしその制限が書かれていない。

791:デフォルトの名無しさん
19/03/24 17:03:38.93 Ou399CfX.net
>>770
>>771
>>772
ジョブショップスケジューリング問題です。この問題はジョブや機械が増加すると調べなければならない組み合わせが爆発的に増加してしまうため、現実的な時間で最適解を求めることが難しいとされています(NP困難として知られています)。
マシンを配列順に使用することで1つの製品ができます。
私の実験では10分ぐらい待っても95で終わりませんでした。

792:デフォルトの名無しさん
19/03/24 17:35:40.10 Ou399CfX.net
>>774
途中結果
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)

793:デフォルトの名無しさん
19/03/24 20:02:05.47 TWBa+gHA.net
>>775
URLリンク(imgur.com)
手動で調べたら90時間(単位は適当)まで縮んだ。最小時間か知らんが。
こういうのガントチャートっていうんだな

794:デフォルトの名無しさん
19/03/24 22:58:01.17 3fqiTHWE.net
ちなみに、
>>751
の問題で、行列の周りに、番兵を作って、処理した人はいる?
漏れは、いつもこの手の問題では、番兵で周りを囲む

795:デフォルトの名無しさん
19/03/25 12:18:06.31 7aW5s/71.net
……プログラミングやっててガントチャートしらないヤツもいるのか
勉強になった

796:デフォルトの名無しさん
19/03/25 12:23:06.98 T0osdeZX.net
名前知らなかっただけでは?

797:デフォルトの名無しさん
19/03/25 12:26:24.36 VWPF1Bqz.net
ロシア国防省「東アジアの地震の多い某国は数十年にわたり、地震を偽装した地下核実験を繰り返して�


798:「る」 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



799:デフォルトの名無しさん
19/03/25 14:02:28.57 FL0Sj0Av.net
いちいちガントチャートなんて銘打たんしな
進捗管理するときには普通に使うもんだ

800:デフォルトの名無しさん
19/03/25 14:57:20.21 T0osdeZX.net
みんな名前知らないけど気づいたら作ってるようなものじゃないか?

801:デフォルトの名無しさん
19/03/25 21:13:29.59 wbp6GG9F.net
ナップザック問題の一種じゃないの?

802:デフォルトの名無しさん
19/03/26 00:12:39.41 xyG5xdoY.net
お題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 よりも上の単位ができても良い。

803:デフォルトの名無しさん
19/03/26 03:32:10.56 xI3rzKRA.net
いまどき容量系の接頭辞はKi, Mi, Gi使えや

804:デフォルトの名無しさん
19/03/26 03:42:21.20 xyG5xdoY.net
>>785
そうしたければそうしてもいいよ。

805:デフォルトの名無しさん
19/03/26 13:05:28.20 8ujFPLE9.net
お題1と3まとめてswitch-case文って
筋悪いですかねえ
あるいはお題1とお題2をまとめて、enum型でINVERSEとか作るとか、あるいは TRUE / FALSE で分岐とか

806:デフォルトの名無しさん
19/03/26 19:22:41.61 NbUyZWCM.net
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 95286
URLリンク(you-can-program.hatenablog.jp)

807:デフォルトの名無しさん
19/03/27 00:34:27.07 KJlt8YQv.net
>>784 c
URLリンク(ideone.com)
・十分に小さい値のときしか動かない
・大きい値を与えたときの挙動もケアされない

808:デフォルトの名無しさん
19/03/27 23:48:37.99 oM4knkxt.net
>>784
Kotlin
URLリンク(paiza.io)
Long 型使って正の整数しか考慮してないので63bitまで。

809:さまよえる蟻人間
19/03/28 00:18:20.27 JS1PpMcc.net
Windows付属のshlwapi.dllにStrFormatByteSizeという関数があるようだね。

810:デフォルトの名無しさん
19/03/28 17:17:39.60 vvqhH31/.net
>>770
乱数使ったプログラム書いてみたけど動かした瞬間90まで行くけど
そこから何分待っても動かなさそう

811:デフォルトの名無しさん
19/03/30 20:23:23.36 ghZBhzgh.net
お題
表示画面におさまる最大の正三角形を描画する

812:デフォルトの名無しさん
19/03/30 23:07:23.94 DyxzEuK/.net
つまらん次

813:デフォルトの名無しさん
19/03/31 08:20:57.83 JrOSOdLx.net
>>793
最大の定義ぐらい書けよ…

814:デフォルトの名無しさん
19/03/31 13:16:21.13 m8dr8/PB.net
>>795
「たとえば表示画面が640x400なら、一辺が400の正三角形を描画する」ことではないのか
貴殿が想定する「最大の定義」とやらを示してもらえんかの?

815:デフォルトの名無しさん
19/03/31 13:25:41.80 +5DxT57L.net
ん?
その場合、一辺は400*2/sqrt(3)になるんじゃない?

816:デフォルトの名無しさん
19/03/31 13:28:01.88 EfWeZY5f.net
>>796
高さ400の正三角形だと一辺461.88じゃね?

817:デフォルトの名無しさん
19/03/31 15:30:18.52 uX30LzG9.net
怒涛のツッコミw

818:デフォルトの名無しさん
19/03/31 19:30:51.59 KJRyWF55.net
コンソール画面なら、画面の横幅と縦幅を取得しなきゃならんから言語によってはめんどくさいだろうな
標準でcurses使える言語ってなにがあるかな

819:デフォルトの名無しさん
19/03/31 20:25:37.50 P4y0w1jO.net
表示画面が球体だったら…

820:デフォルトの名無しさん
19/04/01 00:15:16.48 ucc1UNjR.net
リーマン幾何の多様体上で計算しとけ
なお、サラリーマンのリーンマン じゃないからな。

821:デフォルトの名無しさん
19/04/01 01:51:36.50 //wZRuJn.net
でしゃばんな

822:デフォルトの名無しさん
19/04/01 03:15:46.62 Mx+j7LaB.net
Windows環境だとdirectx叩くことになるのかな
VT100とかXとかは全く知らないけど DisplayWidth とか DisplayHeight とか使うのか
あるいは何らかのクラスのメンバー関数を呼ぶのか

823:デフォルトの名無しさん
19/04/01 03:16:52.56 Mx+j7LaB.net
>>800
pdcursesがあるじゃないか(あらゆる環境で使えるとは言ってない

824:デフォルトの名無しさん
19/04/15 22:24:58.61 pFhU6MbP.net
エスケープシーケンスで座標指定とか文字色変更って、今はできないんだっけ?

825:デフォルトの名無しさん
19/04/15 23:06:48.83 1nT5zSFt.net
エスケープシーケンス powershell
で、ググってみ

826:デフォルトの名無しさん
19/04/16 09:06:19.32 wCqxjGzR.net
>>806
文字を出す端末による。
WindowsだったとしてもWSLでUbuntu動かした時のbashの端末では使えてるので多分設定次第なんだろうな。
逆に言うと設定によっては意図した通りに動かない。

827:デフォルトの名無しさん
19/04/16 16:33:57.42 wCqxjGzR.net
お題
アミダくじの作成、表示、及び余力があれば実行
・縦線の本数と横線の最大本数は入力できるようにする。
・左右の縦線への横線だけでなく飛び越えて他の縦線へ移動する横線もオプションで作れるようにする。
・表示方法は罫線キャラクタを使っても良いがGUI等他の方法でも良い。
・実行時はアニメーションでも良いし、いきなり結果が出るだけでも良い。
・面倒なら作成して表示するだけで実行しなくても良い。

828:デフォルトの名無しさん
19/04/16 16:45:06.33 GDkTCt4E.net
N88-BASIC(86)で出来そうな気がするが

829:デフォルトの名無しさん
19/04/16 17:51:22.60 wCqxjGzR.net
・PC-8001で動作すること。
いや、動かんでもいい。

830:デフォルトの名無しさん
19/04/16 18:37:53.31 GDkTCt4E.net
PRINT CHR$(12)

831:デフォルトの名無しさん
19/04/16 18:38:10.10 GDkTCt4E.net
CONSOLE 80,25,0,1
だっけ

832:デフォルトの名無しさん
19/04/16 18:40:11.47 GDkTCt4E.net
10 WIDTH 80,25
からか…

833:デフォルトの名無しさん
19/04/16 18:46:35.84 GDkTCt4E.net
DEFINTA-Z:PRINT"HOW MANY COLUMNS":INPUTA:A0=160/A

834:デフォルトの名無しさん
19/04/18 19:26:49.12 pJc8eu0c.net
お題:要素数が同じふたつの数値配列を受け取り、要素ごとに足した配列を返す。
中級:同様に、三つの配列を受け取る。
上級:同様に、三つの配列を受け取り、掛けて割ったもの返す。
ocaml
URLリンク(ideone.com)
octave
URLリンク(ideone.com)

835:デフォルトの名無しさん
19/04/18 21:28:55.51 47ewAOC/.net
簡単過ぎる、次

836:デフォルトの名無しさん
19/04/18 23:26:27.73 izaVyiw1.net
>>816 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} "

837:デフォルトの名無しさん
19/04/19 00:02:01.58 ODUYGH1G.net
お題そのものは簡単でも、マイナー言語での解き方を見るのは面白いね

838:デフォルトの名無しさん
19/04/19 00:09:49.99 fWzUUJvd.net
自演乙

839:デフォルトの名無しさん
19/04/19 07:15:46.60 TxABBsFf.net
>>816
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]

840:デフォルトの名無しさん
19/04/19 08:40:44.50 TxABBsFf.net
>>818
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]

841:デフォルトの名無しさん
19/04/20 12:21:00.80 R45IcBKG.net
お題:円の中心の座標と、円の半径の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 => ?

842:デフォルトの名無しさん
19/04/20 18:57:22.37 4zW2+iPl.net
また数学か・・・

843:デフォルトの名無しさん
19/04/20 19:51:50.54 JrfgKJuX.net
しょっちゅう出てくるけどこれ宿題か?

844:デフォルトの名無しさん
19/04/20 23:55:49.29 R45IcBKG.net
宿題じゃないんやけどなー
12/38 7/38 23959256988683736880737131790625/1444 => ? の答えと円周上の格子点一覧…俺が間違えてなければ
URLリンク(pastebin.com)

845:デフォルトの名無しさん
19/04/21 00:12:56.57 E83GoNC+.net
コードを出せコードを!

846:デフォルトの名無しさん
19/04/21 01:28:16.84 TAIIcaTj.net
プログラムでの解き方が思い付かないわ
円の方程式に整数代入して満たすかみればいいのか?

847:デフォルトの名無しさん
19/04/21 02:14:46.56 H/Se0iAi.net
解法を考えるのも回答能力のうちだからね
今の時代、参照・検索も当然 可だけれど

848:デフォルトの名無しさん
19/04/21 06:09:56.50 /+hkU7cH.net
>>822
割り算が%とか、そのモジュール書いた奴、頭腐ってんじゃないの?

849:デフォルトの名無しさん
19/04/21 13:14:42.53 ay9waDdy.net
>>830

>>821 見てないの?
Haskellでは少数を返す割り算は「/」、整数を返す割り算は「`div`」と返す型で使い分ける。
「%」が返すのは分数型(Rational)

850:デフォルトの名無しさん
19/04/21 14:45:56.49 /+hkU7cH.net
やっぱ頭腐ってるな。

851:デフォルトの名無しさん
19/04/24 20:43:26.25 NALZs80Z.net
お題: 日本語の文章の句読点を , や . に置き換える。
ただし、, や . の直後には半角のスペースを置き、さらに改行の手前や文末のスペースは削除すること。
例:
In < これは、日本語の文章です。ふひひ。
Out > これは, 日本語の文章です. ふひひ.

852:デフォルトの名無しさん
19/04/24 20:50:03.68 WcGowxU3.net
しょうもな

853:デフォルトの名無しさん
19/04/24 20:51:59.82 Y8OSWYHv.net
文末のスペースが消えてないやん
どっちやねん

854:デフォルトの名無しさん
19/04/24 20:52:14.50 NALZs80Z.net
お題: 簡易なテーブルを綺麗に整形する
余力があればカラムの左揃え、右揃えをオプションで選択できるようにする(出力は中央揃え)
入力:
a|aaaaa|bb
ccc|ddd|ee
出力:
**a***|*aaaaa*|***bb*
------+-------+------
*ccc**|**ddd**|***ee*

855:デフォルトの名無しさん
19/04/24 20:54:35.53 NALZs80Z.net
>>836
×(出力は中央揃え)
〇(例は中央揃え)

856:デフォルトの名無しさん
19/04/24 21:01:38.43 Y8OSWYHv.net
bとeが中央じゃなくね

857:デフォルトの名無しさん
19/04/24 21:05:36.09 NALZs80Z.net
>>838
例に使ったスクリプトがバグってた

858:デフォルトの名無しさん
19/04/24 22:36:14.15 lwqMqFKi.net
左のaとcもおかしい

859:デフォルトの名無しさん
19/04/24 23:50:33.64 NSCbK96M.net
各列の文字数は一致する必要があるのか

860:デフォルトの名無しさん
19/04/25 04:26:28.66 D6NtakiX.net
>>836
入出力のエンコードは?
ASCII以外はあるのか?

861:デフォルトの名無しさん
19/04/25 05:01:51.18 XVamjpPA.net
>>842
ASCIIのみで

862:デフォルトの名無しさん
19/04/25 07:44:22.82 XVamjpPA.net
>>839
いやバグってなかったわ
>>836
が正常
| の前後に*が一つ入るから
| の前後の*は入れても入れなくてもいいけど入れたほうが綺麗になるかもしれん

863:デフォルトの名無しさん
19/04/25 10:34:23.81 J1W60oTI.net
「綺麗」とか言うお気持ちワードが入るとダメだな

864:デフォルトの名無しさん
19/04/25 10:41:43.51 aGd2Nt87.net
「楽しいプログラミング」w
「美しく書ける」ww

865:デフォルトの名無しさん
19/04/25 12:39:16.14 J1W60oTI.net
何がキレイなのか定義出来ず言うことが主観でコロコロ変わる、マジで今の日本のサイコパス上司そのものだ
「オレの心情をさっしろ」みたいな屑がいいそうなこと
頭が悪いから定義が出来ないし自分の言ってることが支離滅裂になってる
曖昧な用語(綺麗)で押し通そうとする
コレ全部サイコパスの特徴

866:デフォルトの名無しさん
19/04/25 13:02:10.38 pYdb89HV.net
美を定義できる人間がいるなら会いたいものだ

867:デフォルトの名無しさん
19/04/25 13:47:48.74 BUlwZIC7.net
>>848
プラトンのスュンポスィオーンって本で定義されてたぞ

868:デフォルトの名無しさん
19/04/25 16:18:28.13 ThHN2jz5.net
美しいコードなんて求められてない。小学生でも知ってる。
URLリンク(tr.twipple.jp)

869:デフォルトの名無しさん
19/04/25 18:30:28.28 /IwwINNy.net
美しい半角カナ

870:デフォルトの名無しさん
19/04/25 18:35:37.23 /IwwINNy.net
>>850
変数に日本語が使えないとか書いてあるな。
Javaとか普通に使えるんだがな。

871:
19/04/25 20:27:10.98 6xUIrXDu.net
>>849
倉橋由美子のが面白かったと思っています

872:デフォルトの名無しさん
19/04/25 22:32:18.97 siWhi4pR.net
>>852
そんなに日本語使いたいならなでしこでも書いとけ

873:デフォルトの名無しさん
19/04/25 22:33:30.90 X6smEgNz.net
>>852 そんな大昔の話をするなよ。 今はPython3 なんだから日本語も使えるよ。
なな = 7
print(なな)
# 7

874:デフォルトの名無しさん
19/04/25 23:27:23.78 jZ4+eHeJ.net
今時C++とかでも普通に日本語識別子使えるだろ…

875:デフォルトの名無しさん
19/04/25 23:39:11.26 D6NtakiX.net
>>856
あ、そうなの?
知らなかった。

876:デフォルトの名無しさん
19/04/26 18:55:29.49 YRtkzMZR.net
>>836
Kotlin
URLリンク(paiza.io)
入力は1行目に 0, 1, 2 の何れかのオプションを指定する。
意味は 0=中央、1=左寄せ、2=右寄せ になっている。
2行目からは | 区切りで文字列を入れる。
空行またはファイルの終わりで表を出力する。
空行だった場合はまた次の表の最初のオプションから入れられる。

877:デフォルトの名無しさん
19/04/26 19:49:06.87 RVSBatxL.net
>>858
ほとぼりが冷めたと思ってんのか屑?
お前が>>844だろ
ID変わったからっていい気になんなよ
ゴミみたいな出力のまさにゴミだ
全然綺麗じゃない

878:853
19/04/27 04:31:22.65 dVFnhFQW.net
>>859
違うよ。俺はもっと上の方であみだくじのお題を出したやつだよ。
自分でもプログラム作るには作ったけど表示するところまでだな。
しかしブラウザの実行環境で表示すると罫線の幅の問題でずれるので画像で出力しようかと思っている。
これな。
URLリンク(paiza.io)

879:デフォルトの名無しさん
19/04/27 15:02:49.57 TtYrpMGa.net
お題:ジョブショップスケジューリングの問題です。
int job_param[JOBNUM][STP][2] = {
{{4, 342}, {1, 244}, {2, 351}, {3, 293}, {0, 342}}, // 1572
{{2, 306}, {4, 342}, {3, 386}, {1, 386}, {0, 413}}, // 1833
{{3, 168}, {0, 266}, {2, 182}, {1, 106}, {4, 368}}, // 1090
{{3, 368}, {2, 151}, {4, 284}, {0, 84}, {1, 164}}, // 1051
{{4, 240}, {1, 191}, {0, 351}, {3, 408}, {2, 275}}, // 1465
{{2, 342}, {3, 351}, {4, 191}, {0, 333}, {1, 426}}, // 1643
{{0, 93}, {1, 235}, {2, 422}, {3, 244}, {4, 151}}, // 1145
{{0, 75}, {4, 217}, {1, 111}, {3, 195}, {2, 435}}, // 1033
{{2, 173}, {4, 435}, {3, 186}, {1, 137}, {0, 53}}, // 984
{{1, 93}, {2, 231}, {4, 71}, {3, 115}, {0, 315}}}; // 825

880:デフォルトの名無しさん
19/04/27 16:10:46.35 nhVWQaIp.net
宿題は自分でやれ

881:デフォルトの名無しさん
19/04/27 16:24:49.19 VMurKVDA.net
まずジョブスケジューリングが何か説明してもらおう

882:デフォルトの名無しさん
19/04/27 17:28:59.65 PUfIYz8D.net
適当に詰めて行くプログラムで2928まではなった
h0 0-75 g0 75-168 c1 168-434 e2 434-785 j4 1002-1317 d3 1505-1589 f3 1696-2029 b4 2029-2442 a4 2442-2784 i4 2875-2928
j0 0-93 e1 240-431 h2 457-568 a1 799-1043 g1 1043-1278 c3 1385-1491 b3 1607-1993 d4 1993-2157 f4 2157-2583 i3 2738-2875
f0 0-342 j1 342-573 b0 573-879 i0 879-1052 d1 1052-1203 c2 1203-1385 a2 1385-1736 g2 1736-2158 e4 2158-2433 h4 2433-2868
c0 0-168 d0 168-536 f1 536-887 j3 887-1002 h3 1002-1197 b2 1221-1607 e3 1607-2015 a3 2015-2308 g3 2308-2552 i2 2552-2738
e0 0-240 h1 240-457 a0 457-799 j2 799-870 b1 879-1221 d2 1221-1505 f2 1505-1696 c4 1696-2064 i1 2064-2499 g4 2552-2703

883:デフォルトの名無しさん
19/04/27 17:44:35.53 PUfIYz8D.net
今2889になってたけどSegmentation faultで落ちてた
前回のやつでJOBNUMとかSTPとかをわざわざ直接5 5とか書いてて
今回どんなコードかもう忘れて片方を適当に10に直したからか元からバグがあったのか分からないけど
結果自体は間違ってなそうだと思うけど

884:818
19/04/27 18:03:52.53 63A0HxGX.net
>>823の(最適化していない)コード Java
URLリンク(ideone.com)
>>827
出したで

885:デフォルトの名無しさん
19/04/28 08:12:15.68 3xnz0I0C.net
>>861
COST_TIME: 2932
0 : ( 4, 457, 799), ( 1, 800, 1044), ( 2, 1275, 1626), ( 3, 2017, 2310), ( 0, 2417, 2759)
1 : ( 2, 573, 879), ( 4, 880, 1222), ( 3, 1223, 1609), ( 1, 1610, 1996), ( 0, 2004, 2417)
2 : ( 3, 0, 168), ( 0, 784, 1050), ( 2, 1093, 1275), ( 1, 1279, 1385), ( 4, 2389, 2757)
3 : ( 3, 168, 536), ( 2, 942, 1093), ( 4, 1586, 1870), ( 0, 1920, 2004), ( 1, 2473, 2637)
4 : ( 4, 0, 240), ( 1, 241, 432), ( 0, 433, 784), ( 3, 1609, 2017), ( 2, 2221, 2496)
5 : ( 2, 0, 342), ( 3, 536, 887), ( 4, 1395, 1586), ( 0, 1587, 1920), ( 1, 2047, 2473)
6 : ( 0, 75, 168), ( 1, 1044, 1279), ( 2, 1799, 2221), ( 3, 2310, 2554), ( 4, 2757, 2908)
7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 458, 569), ( 3, 892, 1087), ( 2, 2496, 2931)
8 : ( 2, 1626, 1799), ( 4, 1954, 2389), ( 3, 2554, 2740), ( 1, 2741, 2878), ( 0, 2879, 2932)
9 : ( 1, 0, 93), ( 2, 342, 573), ( 4, 799, 870), ( 3, 1087, 1202), ( 0, 1203, 1518)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 4, 433, 784), ( 2, 784, 1050), ( 9, 1203, 1518), ( 5, 1587, 1920), ( 3, 1920, 2004), ( 1, 2004, 2417), ( 0, 2417, 2759), ( 8, 2879, 2932)
1 : ( 9, 0, 93), ( 4, 241, 432), ( 7, 458, 569), ( 0, 800, 1044), ( 6, 1044, 1279), ( 2, 1279, 1385), ( 1, 1610, 1996), ( 5, 2047, 2473), ( 3, 2473, 2637), ( 8, 2741, 2878)
2 : ( 5, 0, 342), ( 9, 342, 573), ( 1, 573, 879), ( 3, 942, 1093), ( 2, 1093, 1275), ( 0, 1275, 1626), ( 8, 1626, 1799), ( 6, 1799, 2221), ( 4, 2221, 2496), ( 7, 2496, 2931)
3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 892, 1087), ( 9, 1087, 1202), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017, 2310), ( 6, 2310, 2554), ( 8, 2554, 2740)
4 : ( 4, 0, 240), ( 7, 240, 457), ( 0, 457, 799), ( 9, 799, 870), ( 1, 880, 1222), ( 5, 1395, 1586), ( 3, 1586, 1870), ( 8, 1954, 2389), ( 2, 2389, 2757), ( 6, 2757, 2908)

886:デフォルトの名無しさん
19/04/28 19:46:09.95 4L316qYF.net
COST_TIME: 2868
0 : ( 4, 457, 799), ( 1, 800, 1044), ( 2, 1212, 1563), ( 3, 2017, 2310), ( 0, 2410, 2752)
1 : ( 2, 573, 879), ( 4, 880, 1222), ( 3, 1223, 1609), ( 1, 1610, 1996), ( 0, 1997, 2410)
2 : ( 3, 0, 168), ( 0, 169, 435), ( 2, 1030, 1212), ( 1, 1213, 1319), ( 4, 2


887:326, 2694) 3 : ( 3, 168, 536), ( 2, 879, 1030), ( 4, 1523, 1807), ( 0, 1857, 1941), ( 1, 2703, 2867) 4 : ( 4, 0, 240), ( 1, 241, 432), ( 0, 435, 786), ( 3, 1609, 2017), ( 2, 2158, 2433) 5 : ( 2, 0, 342), ( 3, 536, 887), ( 4, 1332, 1523), ( 0, 1524, 1857), ( 1, 1996, 2422) 6 : ( 0, 75, 168), ( 1, 1319, 1554), ( 2, 1736, 2158), ( 3, 2310, 2554), ( 4, 2694, 2845) 7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 458, 569), ( 3, 887, 1082), ( 2, 2433, 2868) 8 : ( 2, 1563, 1736), ( 4, 1891, 2326), ( 3, 2379, 2565), ( 1, 2566, 2703), ( 0, 2752, 2805) 9 : ( 1, 0, 93), ( 2, 342, 573), ( 4, 799, 870), ( 3, 1082, 1197), ( 0, 1198, 1513) MACHINE Schedule 0 : ( 7, 0, 75), ( 6, 75, 168), ( 2, 169, 435), ( 4, 435, 786), ( 9, 1198, 1513), ( 5, 1524, 1857), ( 3, 1857, 1941), ( 1, 1997, 2410), ( 0, 2410, 2752), ( 8, 2752, 2805) 1 : ( 9, 0, 93), ( 4, 241, 432), ( 7, 458, 569), ( 0, 800, 1044), ( 2, 1213, 1319), ( 6, 1319, 1554), ( 1, 1610, 1996), ( 5, 1996, 2422), ( 8, 2566, 2703), ( 3, 2703, 2867) 2 : ( 5, 0, 342), ( 9, 342, 573), ( 1, 573, 879), ( 3, 879, 1030), ( 2, 1030, 1212), ( 0, 1212, 1563), ( 8, 1563, 1736), ( 6, 1736, 2158), ( 4, 2158, 2433), ( 7, 2433, 2868) 3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 887, 1082), ( 9, 1082, 1197), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017, 2310), ( 6, 2310, 2554), ( 8, 2379, 2565) 4 : ( 4, 0, 240), ( 7, 240, 457), ( 0, 457, 799), ( 9, 799, 870), ( 1, 880, 1222), ( 5, 1332, 1523), ( 3, 1523, 1807), ( 8, 1891, 2326), ( 2, 2326, 2694), ( 6, 2694, 2845)



888:デフォルトの名無しさん
19/04/28 23:28:25.99 l2GeSHcv.net
>>868
3 : ( 2, 0, 168), ( 3, 168, 536), ( 5, 536, 887), ( 7, 887, 1082), ( 9, 1082, 1197), ( 1, 1223, 1609), ( 4, 1609, 2017), ( 0, 2017 , 2310), ( 6, 2310, 2554), ( 8, 2379, 2565)
( 6, 2310, 2554), ( 8, 2379, 2565)
ここが重複してるから間違ってる

889:デフォルトの名無しさん
19/04/29 05:34:40.52 8r4CfxJG.net
>>869
ご指摘ありがとうございます。

890:デフォルトの名無しさん
19/05/02 08:14:38.07 y6AdJjmd.net
お題:ジョブショップスケジューリングの問題です。
int job_param[JOBNUM][STP][2] = {
{{4, 100}, {1, 100}, {2, 100}, {3, 100}, {0, 100}}, // 500
{{2, 100}, {4, 100}, {3, 100}, {1, 100}, {0, 100}}, // 500
{{3, 100}, {0, 100}, {2, 100}, {1, 100}, {4, 100}}, // 500
{{3, 100}, {2, 100}, {4, 100}, {0, 100}, {1, 100}}, // 500
{{4, 100}, {1, 100}, {0, 100}, {3, 100}, {2, 100}}, // 500
{{2, 100}, {3, 100}, {4, 100}, {0, 100}, {1, 100}}, // 500
{{0, 100}, {1, 100}, {2, 100}, {3, 100}, {4, 100}}, // 500
{{0, 100}, {4, 100}, {1, 100}, {3, 100}, {2, 100}}, // 500
{{2, 100}, {4, 100}, {3, 100}, {1, 100}, {0, 100}}, // 500
{{1, 100}, {2, 100}, {4, 100}, {3, 100}, {0, 100}}}; // 500

891:デフォルトの名無しさん
19/05/02 10:15:40.84 uedhNxa1.net
死ね

892:デフォルトの名無しさん
19/05/02 10:36:17.75 aiQlF5oy.net
>>871
時間全部同じなら1にしちゃってえーんちゃう?

893:デフォルトの名無しさん
19/05/02 12:40:19.89 6TxNQP9X.net
死んで良し。こんな長たらしいのを貼るなんて迷惑。
どこかに貼ってリンクだけにしろ。

894:デフォルトの名無しさん
19/05/03 00:09:09.98 zqE/J/GT.net
>>836
C URLリンク(ideone.com)
もうどうでもいいかもしれんが、各列で幅調整ができるようにした

895:デフォルトの名無しさん
19/05/07 18:32:57.10 dWjIX09N.net
COST_TIME: 2903
0 : ( 4, 799, 1141), ( 1, 1141, 1385), ( 2, 1385, 1736), ( 3, 2023, 2316), ( 0, 2477, 2819)
1 : ( 2, 0, 306), ( 4, 457, 799), ( 3, 1114, 1500), ( 1, 1500, 1886), ( 0, 1980, 2393)
2 : ( 3, 368, 536), ( 0, 913, 1179), ( 2, 1203, 1385), ( 1, 1385, 1491), ( 4, 2122, 2490)
3 : ( 3, 0, 368), ( 2, 1052, 1203), ( 4, 1838, 2122), ( 0, 2393, 2477), ( 1, 2639, 2803)
4 : ( 4, 0, 240), ( 1, 240, 431), ( 0, 562, 913), ( 3, 1615, 2023), ( 2, 2593, 2868)
5 : ( 2, 306, 648), ( 3, 763, 1114), ( 4, 1141, 1332), ( 0, 1332, 1665), ( 1, 1886, 2312)
6 : ( 0, 75, 168), ( 1, 568, 803), ( 2, 1736, 2158), ( 3, 2508, 2752), ( 4, 2752, 2903)
7 : ( 0, 0, 75), ( 4, 240, 457), ( 1, 457, 568), ( 3, 568, 763), ( 2, 2158, 2593)
8 : ( 2, 879, 1052), ( 4, 1403, 1838), ( 3, 2316, 2502), ( 1, 2502, 2639), ( 0, 2819, 2872)
9 : ( 1, 0, 93), ( 2, 648, 879), ( 4, 1332, 1403), ( 3, 1500, 1615), ( 0, 1665, 1980)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 4, 562, 913), ( 2, 913, 1179), ( 5, 1332, 1665), ( 9, 1665, 1980), ( 1, 1980, 2393), ( 3, 2393, 2477), ( 0, 2477, 2819), ( 8, 2819, 2872)
1 : ( 9, 0, 93), ( 4, 240, 431), ( 7, 457, 568), ( 6, 568, 803), ( 0, 1141, 1385), ( 2, 1385, 1491), ( 1, 1500, 1886), ( 5, 1886, 2312), ( 8, 2502, 2639), ( 3, 2639, 2803)
2 : ( 1, 0, 306), ( 5, 306, 648), ( 9, 648, 879), ( 8, 879, 1052), ( 3, 1052, 1203), ( 2, 1203, 1385), ( 0, 1385, 1736), ( 6, 1736, 2158), ( 7, 2158, 2593), ( 4, 2593, 2868)
3 : ( 3, 0, 368), ( 2, 368, 536), ( 7, 568, 763), ( 5, 763, 1114), ( 1, 1114, 1500), ( 9, 1500, 1615), ( 4, 1615, 2023), ( 0, 2023, 2316), ( 8, 2316, 2502), ( 6, 2508, 2752)
4 : ( 4, 0, 240), ( 7, 240, 457), ( 1, 457, 799), ( 0, 799, 1141), ( 5, 1141, 1332), ( 9, 1332, 1403), ( 8, 1403, 1838), ( 3, 1838, 2122), ( 2, 2122, 2490), ( 6, 2752, 2903)

896:デフォルトの名無しさん
19/05/07 19:09:14.64 T//WWibe.net
死ねやマジで

897:デフォルトの名無しさん
19/05/09 08:23:28.37 iHKmUIWi.net
COST_TIME: 2868
0 : ( 4, 970, 1312), ( 1, 1312, 1556), ( 2, 1807, 2158), ( 3, 2177, 2470), ( 0, 2470, 2812)
1 : ( 2, 0, 306), ( 4, 557, 899), ( 3, 1197, 1583), ( 1, 1583, 1969), ( 0, 1969, 2382)
2 : ( 3, 0, 168), ( 0, 394, 660), ( 2, 1474, 1656), ( 1, 1969, 2075), ( 4, 2222, 2590)
3 : ( 3, 168, 536), ( 2, 1656, 1807), ( 4, 1938, 2222), ( 0, 2382, 2466), ( 1, 2696, 2860)
4 : ( 4, 292, 532), ( 1, 532, 723), ( 0, 723, 1074), ( 3, 1583, 1991), ( 2, 2158, 2433)
5 : ( 2, 306, 648), ( 3, 731, 1082), ( 4, 1312, 1503), ( 0, 1512, 1845), ( 1, 2133, 2559)
6 : ( 0, 75, 168), ( 1, 723, 958), ( 2, 1052, 1474), ( 3, 2470, 2714), ( 4, 2714, 2865)
7 : ( 0, 0, 75), ( 4, 75, 292), ( 1, 292, 403), ( 3, 536, 731), ( 2, 2433, 2868)
8 : ( 2, 879, 1052), ( 4, 1503, 1938), ( 3, 1991, 2177), ( 1, 2559, 2696), ( 0, 2812, 2865)
9 : ( 1, 0, 93), ( 2, 648, 879), ( 4, 899, 970), ( 3, 1082, 1197), ( 0, 1197, 1512)
MACHINE Schedule
0 : ( 7, 0, 75), ( 6, 75, 168), ( 2, 394, 660), ( 4, 723, 1074), ( 9, 1197, 1512), ( 5, 1512, 1845), ( 1, 1969, 2382), ( 3, 2382, 2466), ( 0, 2470, 2812), ( 8, 2812, 2865)
1 : ( 9, 0, 93), ( 7, 292, 403), ( 4, 532, 723), ( 6, 723, 958), ( 0, 1312, 1556), ( 1, 1583, 1969), ( 2, 1969, 2075), ( 5, 2133, 2559), ( 8, 2559, 2696), ( 3, 2696, 2860)
2 : ( 1, 0, 306), ( 5, 306, 648), ( 9, 648, 879), ( 8, 879, 1052), ( 6, 1052, 1474), ( 2, 1474, 1656), ( 3, 1656, 1807), ( 0, 1807, 2158), ( 4, 2158, 2433), ( 7, 2433, 2868)
3 : ( 2, 0, 168), ( 3, 168, 536), ( 7, 536, 731), ( 5, 731, 1082), ( 9, 1082, 1197), ( 1, 1197, 1583), ( 4, 1583, 1991), ( 8, 1991, 2177), ( 0, 2177, 2470), ( 6, 2470, 2714)
4 : ( 7, 75, 292), ( 4, 292, 532), ( 1, 557, 899), ( 9, 899, 970), ( 0, 970, 1312), ( 5, 1312, 1503), ( 8, 1503, 1938), ( 3, 1938, 2222), ( 2, 2222, 2590), ( 6, 2714, 2865)

898:デフォルトの名無しさん
19/05/09 09:37:18.89 pu1Iu6no.net
ここはプログラミングのお題スレであって結果と思われる出力を書き込むスレではない。

899:デフォルトの名無しさん
19/05/09 19:00:51.34 n0QdGvKz.net
コラッツ数列を作る関数chainを書け
コラッツ数列の定義
任意の自然数から開始する
数が 1ならば 、終了
数が偶数なら 、 2で割る
数が奇数なら 、 3倍して 1を足す
新しい値でこのアルゴリズムを繰り返す
使用例
>chain 10
[ 1 0 , 5 , 1 6 , 8 , 4 , 2 , 1 ]
>chain 1
[ 1 ]
>chain 30
[ 3 0 , 1 5 , 4 6 , 2 3 , 7 0 , 3 5 , 1 0 6 , 5 3 , 1 6 0 , 8 0 , 4 0 , 2 0 , 1 0 , 5 , 1 6 , 8 , 4 , 2 , 1 ]

900:デフォルトの名無しさん
19/05/09 21:28:06.85 V3giiBFx.net
>>880 C
URLリンク(ideone.com)

901:さまよえる蟻人間
19/05/09 22:20:55.24 sZO2t0w0.net
お題: 改行とスペースを含むASCII文字列が与えられる。
改行とスペース以外の各印字可能文字の位置を以下のように順番に出力せよ。
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 5, 0]
[d, 0, 2]

902:デフォルトの名無しさん
19/05/10 08:21:41.55 Z1uC1A15.net
>>880
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))

903:デフォルトの名無しさん
19/05/10 08:24:53.49 Z1uC1A15.net
>>880
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)

904:デフォルトの名無しさん
19/05/10 11:11:44.01 VtNtFyvg.net
>>880
C
URLリンク(ideone.com)
1未満の値の判定はchain関数に実装すべきなのかどうなのか……

905:デフォルトの名無しさん
19/05/10 11:56:36.34 sggjdX/2.net
>>882
[c, 5, 0]?
[c, 4, 0]じゃなくて?

906:さすらいの蟻人間
19/05/10 12:18:04.49 8LSsTFj9.net
>>882 >>886
4の間違いでした。訂正。

907:デフォルトの名無しさん
19/05/10 12:30:05.58 k7gY5pMP.net
>>882
出力は、行列番号が0から始まるとして
文字,列番号、行番号 だと思うから c の列番号は間違ってるんじゃないの?
(入力)
a b c
d
(出力)
[a, 0, 0]
[b, 2, 0]
[c, 4, 0] << 5じゃなくて4だろ。
[d, 0, 2]

908:デフォルトの名無しさん
19/05/10 12:47:01.79 6xQjM2XG.net
>>881,885
この問題、入門書から抜粋したけど次に1ー100の間に長さ15以上は何個あるかとか出てるから、
Cだとリストから作らないといけないのは分かるが、リスト返す様にした方が仕様変更に強いと思う。

909:デフォルトの名無しさん
19/05/10 12:53:54.51 KAkBQh2y.net
宿題誘導か
最近のアホは小賢しいな

910:デフォルトの名無しさん
19/05/10 13:27:19.10 k7gY5pMP.net
>>882 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

911:デフォルトの名無しさん
19/05/10 13:40:11.78 k7gY5pMP.net
>>891 出力フォーマットが
['a', 0, 0]
['b', 2, 0]
['c', 4, 0]
['d', 0, 2]
でもよければ print文は簡単になる
print ([c, col,line])

912:さすらいの蟻人間
19/05/10 14:51:58.21 CF7UUf9v.net
お題: >>882 の入出力を逆転。

913:デフォルトの名無しさん
19/05/10 15:12:02.76 bODSyEKx.net
>>893 手抜きすんな面白くない

914:デフォルトの名無しさん
19/05/10 15:43:29.85 aTy0NCJ4.net
>>880
与えられた数の3倍以上の個数を持つ系列を
を3個示せ。

915:デフォルトの名無しさん
19/05/10 17:50:33.37 58PV3kUA.net
>>880,889 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 "

916:デフォルトの名無しさん
19/05/10 20:05:13.80 0Zlxa6bH.net
>>880
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データで入力して結果を出力するようにした。

917:デフォルトの名無しさん
19/05/10 20:29:31.76 /+/am3CQ.net
>>895
27のとき112個
31のとき107個
10億くらいまで回したけど、これら以外なくね?
数列の初期値と長さは、初期値が小さいうちは同じくらいだが、初期値を大きくしても数列の長さはさほど伸びない。
URLリンク(imgur.com)
グラフはxが大きくなるほど飛ばす間隔も大きくしてあるからあまり正確ではない。

918:デフォルトの名無しさん
19/05/10 21:48:47.85 LM2YqzO0.net
お題
URLリンク(www.youtube.com)
このようなルートの数を数え上げるプログラムを作る
N=5位まででよい

919:デフォルトの名無しさん
19/05/10 22:09:58.71 KAkBQh2y.net
ZDDやるなら出来合いのもの使って終わりじゃねえの?
URLリンク(github.com)
URLリンク(hs-nazuna.github.io)

920:デフォルトの名無しさん
19/05/11 11:54:01.37 Ze1v8w/9.net
>>880 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]

921:デフォルトの名無しさん
19/05/11 12:16:05.54 Ze1v8w/9.net
>>882 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]

922:デフォルトの名無しさん
19/05/11 13:06:48.39 bKjSBhWB.net
>>880
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

923:デフォルトの名無しさん
19/05/11 18:55:11.91 fAbbaveG.net
>>880 c
URLリンク(ideone.com)
>>880 ruby
URLリンク(ideone.com)
>>880 ocaml
URLリンク(ideone.com)

924:デフォルトの名無しさん
19/05/11 20:54:08.94 wddfxsLz.net
ideone.comはMATLABに対応してないのね。
書いてみた後で気がついた。

925:デフォルトの名無しさん
19/05/11 23:44:29.57 fAbbaveG.net
>>880 octave
URLリンク(ideone.com)

926:デフォルトの名無しさん
19/05/12 02:01:10.46 FbICTnq7.net
>>880
Java
URLリンク(paiza.io)
takeUntilが欲しいなー

927:デフォルトの名無しさん
19/05/12 06:46:28.87 R9TUiFuu.net
>>880
コラッツ樹で作れば出力を減らせる。

928:デフォルトの名無しさん
19/05/14 02:59:08.35 3xJ0OqNt.net
>>882
Kotlin
URLリンク(paiza.io)
for や while ループ使わずに forEachIndexed で入れ子にしてみました。

929:デフォルトの名無しさん
19/05/14 09:26:15.81 zeev4Evh.net
>>882
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

930:デフォルトの名無しさん
19/05/14 10:07:03.30 rKVVoOG1.net
>>891 をスッキリ修正してみた
改行コード指定をやめ、for loop のカウンタを利用
>>882 の解
st = '''a b c
d
'''
for line,l in enumerate(st.splitlines()) :
 for col,c in enumerate(l):
  if c != ' ' : print('['+c, col,str(line)+']',sep=',')

931:デフォルトの名無しさん
19/05/14 14:12:15.49 8QdSJZ63.net
>>910
空白以外は\Sでマッチするぞ

932:デフォルトの名無しさん
19/05/14 23:52:44.04 AtHJrRxM.net
>>882 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)' "

933:デフォルトの名無しさん
19/05/15 01:06:44.65 tCUIeJeC.net
>>913 smalltalk って全く知らないけど、最後が出力のつもり?
だったらお題の出力フォーマットと似ても似つかないじゃん。

934:デフォルトの名無しさん
19/05/15 03:57:52.07 i8y0s24p.net
いや似てる

935:デフォルトの名無しさん
19/05/15 04:50:48.17 TsVBVaTo.net
>>882 Squeak/Pharo Smalltalk
出力はともかく同行に同文字があるとダメだった^^;ので>>913 差し替え
| 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] "

936:905
19/05/15 09:57:59.71 AfKgri37.net
>>912
re = /[^ ]+/
空白以外だから、上のようにしたけど、空白"類"以外なら、\S+ でよい
問題の意図がどちらなのか、よく分からない

937:デフォルトの名無しさん
19/05/15 23:43:58.92 jmndeABE.net
>>882 c
URLリンク(ideone.com)
>>882 ruby
URLリンク(ideone.com)
>>882 ocaml
URLリンク(ideone.com)
>>882 octave
URLリンク(ideone.com)

938:デフォルトの名無しさん
19/05/16 01:50:16.53 4fy8zsNP.net
>>918
C以外は助長だな

939:デフォルトの名無しさん
19/05/16 03:57:55.40 6BLr95cC.net
>>919
具体的にはどの処理のどの部分を冗長に感じられたのでしょうか?
たとえばRubyの回答がどう冗長か(あるいはどう書けば良いか)教えてください!

940:デフォルトの名無しさん
19/05/16 08:25:20.49 MujhV/Cm.net
>>918 故意にpython 外しはずるい。
>>882 python
URLリンク(ideone.com)
printフォーマットは、コメントにしたpython3.6のf文字列の方がシンプルだが、ideone は3.5しかないのでformat文にした。

941:デフォルトの名無しさん
19/05/16 10:18:52.91 YVMjr/q8.net
>>882
Go
URLリンク(ideone.com)
コンパクトにならんね

942:デフォルトの名無しさん
19/05/16 14:34:08.16 YVMjr/q8.net
>>893
Go
URLリンク(ideone.com)

943:デフォルトの名無しさん
19/05/16 19:26:40.27 ktv4pd0R.net
>>882
C++
URLリンク(ideone.com)

944:デフォルトの名無しさん
19/05/16 20:28:13.91 3sIrlJF4.net
お題
整数の数列が与えられるので、各値の大小関係を変えないように値をなるべく小さくせよ
ただし1番小さい要素は1にすること
入力
-6 3 9 5 3 -7
出力
2 3 5 4 3 1

945:デフォルトの名無しさん
19/05/16 21:00:21.83 /dAesd8e.net
>>925
c++
URLリンク(ideone.com)

946:
19/05/16 21:47:12.78 m1RdOLwU.net
>>925
>値をなるべく小さくせよ
絶対値を小さく、という意味ですか?

947:デフォルトの名無しさん
19/05/16 22:59:47.34 0eZXbfha.net
>>925 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) "

948:913
19/05/16 23:00:52.84 02wuysYU.net
>>882 ocaml
URLリンク(ideone.com)
・自分に正直になってrefとforループで書いた
>>919
じょ、助長…
>>921
外しと言うより、たんに不勉強
python書けないんよね(´・ω・`)

949:デフォルトの名無しさん
19/05/16 23:34:17.56 YXKZQo24.net
>>928 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

950:デフォルトの名無しさん
19/05/16 23:42:11.94 YXKZQo24.net
>>930
アンカーしくった、>>925 宛だった…orz

951:デフォルトの名無しさん
19/05/16 23:44:54.09 02wuysYU.net
>>925 octave
URLリンク(ideone.com)

952:デフォルトの名無しさん
19/05/17 00:26:31.35 SI3/qEwo.net
>>893 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 "

953:デフォルトの名無しさん
19/05/17 00:35:47.85 HrEfbPs9.net
>>932
重複除去でソート後のインデックスを返す関数?
チート過ぎてわろたw

954:デフォルトの名無しさん
19/05/17 00:55:59.72 TuAgku6e.net
最近jニキ来ないな

955:デフォルトの名無しさん
19/05/17 01:23:24.98 UHIjSpei.net
>>925
Kotlin
URLリンク(paiza.io)

956:デフォルトの名無しさん
19/05/17 07:54:47.22 9a+COZnd.net
>>893
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
'''

957:デフォルトの名無しさん
19/05/17 08:32:11.25 9a+COZnd.net
>>937 parse に型指定追加
>>893 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
'''

958:デフォルトの名無しさん
19/05/17 12:14:50.20 8VLhbVxR.net
>>925
は、ランク付けの問題だろ
入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1
入力データの最も小さい数字を、ランク1 にして、
数字が大きくなるほど、ランクも大きくしていく
同値の場合は、同じランクにして、次のランクも間隔を空けない。
ランク3 が2つあっても、次は、ランク4
つまり、ランクが欠けることはない!

959:デフォルトの名無しさん
19/05/17 12:23:14.18 99nnd/tf.net
>>939
うるせぇ死ね

960:デフォルトの名無しさん
19/05/17 12:39:09.53 L8EHraRu.net
難しく書いてたけど結局これだけなのか
問題文をわざと複雑に見せかける現代文読解と同じ仕組みじゃないか

961:デフォルトの名無しさん
19/05/17 12:49:18.63 ut9H1r3U.net
プログラム作る前に気づいたので>>936のリンク先のブログラムのタイトルは密かに「順位」にしといたw

962:デフォルトの名無しさん
19/05/17 12:50:56.11 l82uGMBO.net
>>941
わざと難しく見せかけているというよ�


963:閨Aたんに説明が下手なだけだと思う



964:デフォルトの名無しさん
19/05/17 13:23:46.56 gFFtTihX.net
別に難しくない件

965:デフォルトの名無しさん
19/05/17 13:29:01.98 L8EHraRu.net
そうですね
難易度は主観ですね
なら短さ長さを比べるとこうなります
・各値の大小関係を変えないように値をなるべく小さくせよ
・ランク付けせよ
もしかしたらこれが要するにただのランク付けだと分かるまで何人が挑戦するかを試してみる社会調査だったのかもしれません

966:デフォルトの名無しさん
19/05/17 13:36:08.80 /5AjAxyT.net
>ランク付けだと分かるまで何人が挑戦するかを試してみる
まさにそうじゃないの?

967:デフォルトの名無しさん
19/05/17 13:44:50.72 mxL0YWmq.net
>>925 J
f =: >: @ (i.~ /:~ @ ~.)
f _6 3 9 5 3 _7
2 3 5 4 3 1

968:デフォルトの名無しさん
19/05/17 14:08:19.69 gFFtTihX.net
>>945
アスペ

969:デフォルトの名無しさん
19/05/17 14:08:53.72 gFFtTihX.net
問題文を添削しちゃう皆さん

970:デフォルトの名無しさん
19/05/17 14:20:43.10 gFFtTihX.net
>>927

971:デフォルトの名無しさん
19/05/17 15:06:17.59 Jb6joIEA.net
さすがにいちゃもん付け過ぎだろ
元の問題文読めば普通はわかるだろ

972:デフォルトの名無しさん
19/05/17 15:51:11.97 99nnd/tf.net
問題: おっぱいをなるべく小さくせよ。

973:デフォルトの名無しさん
19/05/17 16:00:34.70 ut9H1r3U.net
>>952
(・)(・)

(・)(・)

974:デフォルトの名無しさん
19/05/17 16:18:22.99 X2USxdO3.net
お題:自然数を隙間なく自分自身以外の数に対応させよ。

975:デフォルトの名無しさん
19/05/17 16:46:21.83 9GdSR9hc.net
>>954 先生、対応させると言う日本語がわかりません。
日本人には難しいです。

976:デフォルトの名無しさん
19/05/17 17:04:52.99 ut9H1r3U.net
>>954
君が何を言っているのかわからない。

977:デフォルトの名無しさん
19/05/17 17:24:51.97 L8EHraRu.net
>>954
パッ見で分からん

978:デフォルトの名無しさん
19/05/17 18:07:07.73 nEasvejW.net
偶数なら1引く
奇数なら1足すとかでいいんじゃないの

979:デフォルトの名無しさん
19/05/17 18:39:31.46 9GdSR9hc.net
>>958 良いんじゃないのじゃなくて、他の人が理解できる言葉に翻訳してよ。
これじゃ小学校の国語で平均点以下だろ。
日本語が不自由ならプログラム例を示せば良い。変な言語はダメだけど、C系の素直な言語なら万国共通

980:デフォルトの名無しさん
19/05/17 19:30:38.86 Jb6joIEA.net
要はf: N -> N の∀n∈N f(n) ≠ n かつ全単射な写像を求めろってことでしょ

981:デフォルトの名無しさん
19/05/17 19:35:23.29 Jb6joIEA.net
あ、単射じゃなくてもいいか

982:デフォルトの名無しさん
19/05/17 19:40:06.71 9GdSR9hc.net
>>960 あのさ、それで人に通じると思ってるの?
そんな仕様書を書いて誰がコーディングするんだよ。
日本語に翻訳して明後日出直してこい。
言語能力にかけてるやつは、自分の頭の中が周りの人からスケスケに見えてると言う妄想を持ってる。
狭い世界で通用しても社会では通用しない。

983:デフォルトの名無しさん
19/05/17 19:47:34.60 9GdSR9hc.net
ここまで何人もの人がわからんと言ってるのは、その仕様を出した人間の素質が失格という事だろ。
それを何で庇うんだ? 庇う理由を説明してみろよ。 ここがバカばかりと思うならバカに解るように説明しろよな。
バカにわからせなければ、PLは務まらないよ。
と言うか、仕事は一般人としてるのに何をトチ狂ってるんだ? かなり精神を疑うな。

984:デフォルトの名無しさん
19/05/17 19:50:16.70 Jb6joIEA.net
教養のないやつに限ってブチ切れる

985:デフォルトの名無しさん
19/05/17 20:11:05.80 KIX3RA0i.net
>>952
桃白白改めミスターポポ改めピラフ改めピッコロさん、くだらない出題はやめてください

986:デフォルトの名無しさん
19/05/17 20:11:56.63 9a+COZnd.net
>>964 で、どんな問題なんだ? プログラミングできる仕様として出してくれよ。

987:
19/05/17 20:21:17.94 e+Q6zZPk.net
>>961
単射でないとなると、n に対して n % 10 を対応付けるとかもありになりますね…
>>962
全射、単射、全単射とかは普通に使う単語ですよ、知らないのなら、これらの術語を含む数学の本…代数ですかね?解析ですかね?よくわからないや、を一冊読んでみるのがいいですね

988:デフォルトの名無しさん
19/05/17 20:46:06.10 Jb6joIEA.net
>>966
出題者に言えよ
>>967
%じゃ全射にも単射にもならんぞ
上で誰かが言ってた遇奇を入れ替えたりだとか
f(n) = n - 1, f(0) = 0以外の任意の値
とかなんでもありだね。つまらんけど

989:デフォルトの名無しさん
19/05/17 20:48:13.95 99nnd/tf.net
顔射は普通に使う単語ですか?

990:
19/05/17 20:51:49.11 e+Q6zZPk.net
>>968
>%じゃ全射にも単射にもならんぞ
そうですね、じゃ、割り算の商の整数部分「/」とかはどうでしょう

991:デフォルトの名無しさん
19/05/17 21:06:32.38 ut9H1r3U.net
>>969
はい。

992:デフォルトの名無しさん
19/05/17 21:09:38.99 Jb6joIEA.net
>>970
そりゃなんでもありよ
その場合は0の時だけ別の値を定義すれば良し

993:デフォルトの名無しさん
19/05/17 21:30:53.57 0M7uQZeH.net
920だが、ランク付けだと解が236531と解釈される可能性が有ったので避けた
もっと簡単な書き方があるはそう思う、座圧+1とかでも伝わるだろうし……

994:デフォルトの名無しさん
19/05/17 22:36:31.21 gcMK/Ofn.net
数値のリストを入力し、値の小さい順に1から順位を付けて、
順位のリストを出力する。同じ値は同じ順位とする

995:デフォルトの名無しさん
19/05/17 22:47:54.41 TGYryIO4.net
ほんとそれ
ピラフ改めピッコロはさっさと自害しろ

996:デフォルトの名無しさん
19/05/17 23:20:58.53 L8EHraRu.net
>>954
やっぱりどういう入出力の具体例になるのか分からない
どういうことなんだよ

997:デフォルトの名無しさん
19/05/17 23:47:24.37 xYITnAAv.net
>>976
あくまで俺の推測だが
一例として、自分自身の数が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)のような出力にする関数じゃないか?
ただお題の条件としてはもっとゆるくて、入力はオーバーフローしない範囲の自然数、出力は「自分自身の数」を含まない自然数になれば何でもよくて、
定数関数でもハッシュ関数でもいいはず。
ただし、ある入力に対して必ず決まった値にならなければならず、同じ入力で呼び出すたびに出力が違うのはダメ。

998:デフォルトの名無しさん
19/05/18 00:15:42.42 w6U4ewGf.net
>>977 何をアホな事を言ってるんだ? そんなの小学生に数を数えなさいと言ってるのと等しいぞ。
それのどこがプログラミングのお題なんだ?
バカじゃないのか?

999:デフォルトの名無しさん
19/05/18 01:03:14.81 bbC9YGRR.net
>>947
乙、見事。

1000:デフォルトの名無しさん
19/05/18 01:57:48.06 jjK+y75q.net
>>925
C#
URLリンク(paiza.io)

1001:デフォルトの名無しさん
19/05/18 02:15:29.87 jjK+y75q.net
>>925
Java
URLリンク(paiza.io)

1002:デフォルトの名無しさん
19/05/18 07:46:37.95 w6U4ewGf.net
>>925 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]

1003:デフォルトの名無しさん
19/05/18 10:52:55.70 0WkfcTHM.net
>>976
1. すべての自然数nに対してf(n)≠n
2. 自然数m,nがm≠nを満たすときf(m)≠f(n)
を満たすような関数f(n)を作れってこと
例えば
1. 入力が1のとき出力は1以外
2. 入力が1のときと2のときで出力が同じになってはダメ

1004:デフォルトの名無しさん
19/05/18 11:06:29.35 spo9+l+a.net
>>983
2はいらんやろ
適当なコト抜かすなごかすぞぼけ

1005:デフォルトの名無しさん
19/05/18 11:10:21.66 vBrA8iCH.net
単射である必要はない。全射でさえあればよい

1006:デフォルトの名無しさん
19/05/18 12:08:52.78 R97vL30T.net
難しすぎて全くわからん…
ハローワールド始めて間もない男にも分かる問題を出してくれぬか
優しく教えて欲しい

1007:デフォルトの名無しさん
19/05/18 12:10:33.89 HBaY+7WM.net
>>954
これがあれば1Mbyteのファイルが2byteになっちゃうのか?

1008:デフォルトの名無しさん
19/05/18 12:48:31.15 PrlqGkYa.net
>>983 これのどこがプログラムの問題なのかさっぱりわからん。 小学生の練習問題か?
例えば自然数が 1から4までとした場合、f(n) の出力配列は
f(1) 2,3,4
f(2) 1,3,4
f(3) 1,2,4
f(4) 1,2,3
と言う事だろ? どうしてこんな問題を出したかさっぱり分からん、何か勘違いしてる?

1009:デフォルトの名無しさん
19/05/18 14:29:45.05 5ij/PJHb.net
>>925 c
URLリンク(ideone.com)

1010:デフォルトの名無しさん
19/05/18 14:46:59.19 0WkfcTHM.net
>>984
「隙間なく」を満たすには全射である必要があるけど、今回は定義域と終域が等しいから単射なら自動的に全射になる
全射の条件より単射の条件のほうが説明が楽だから許してくれ
>>988
出題者じゃないから意図は分からんが、自然数を自身以外の自然数に変換するのが題意だからその例は間違っている
f(n)が返すのは自然数であってベクトル(配列)ではない

1011:
19/05/18 14:50:54.64 To+6m73X.net
>>985
>単射である必要はない。全射でさえあればよい
???
>>983
2. 自然数m,nがm≠nを満たすときf(m)≠f(n)
これって単射の定義そのものなのでは?
だから単射である必要があるのでは?
f が単射でない場合 f:a->z, f:b->z だった場合に a != b にもかかわらず f(a)=f(b) で 2 を満たさない

1012:デフォルトの名無しさん
19/05/18 14:57:54.95 jXb4UL4k.net
def f(n)
n + 1
end
一応>>983は満たしてる

1013:デフォルトの名無しさん
19/05/18 15:16:22.17 0WkfcTHM.net
>>990
追記
単射なら全射になるのは有限集合の場合だったわ
お詫びにお題
入力n(2≤n≤2^31-1)を素因数分解してそれを表示せよ
入力例)
28
2002
216653
出力例)
2^2*7
2*7*11*13
216653


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch