プログラミングのお題スレです。
【出題と回答例】
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+506デフォルトの名無しさん
2019/03/05(火) 01:17:51.32ID:irQmeRjm 茨木 保健
貴老沢 風花
鬼塚 海鈴
鬼埜 可恋
儀賀沢 一愛
嫌沢 宮子
己問 彩姫
寺沢 七彩
寿川 瑞紀
樹木山 美咲
宗田 純
女ケ沢 美優
女ケ澤 飛鳥
女鹿沢 祐奈
貴老沢 風花
鬼塚 海鈴
鬼埜 可恋
儀賀沢 一愛
嫌沢 宮子
己問 彩姫
寺沢 七彩
寿川 瑞紀
樹木山 美咲
宗田 純
女ケ沢 美優
女ケ澤 飛鳥
女鹿沢 祐奈
507デフォルトの名無しさん
2019/03/05(火) 03:28:01.02ID:CZi591h7 >>494
Ruby で
require 'csv'
# 全角空白区切りで、ヘッダー有り
options = { :headers => true, :col_sep => " " }
# CSV ファイルを、1行ずつ処理する
puts CSV.foreach( "input.csv", options )
.map{ |row| row[ 2 ].to_f }.inject( :+ )
Ruby で
require 'csv'
# 全角空白区切りで、ヘッダー有り
options = { :headers => true, :col_sep => " " }
# CSV ファイルを、1行ずつ処理する
puts CSV.foreach( "input.csv", options )
.map{ |row| row[ 2 ].to_f }.inject( :+ )
508デフォルトの名無しさん
2019/03/05(火) 07:59:44.57ID:0SMIqw+w >>507 カラム名サーチが入っていないみたいだけど。
例えば ”カラム3” と言うカラム名が指定されたとして書いてみて。3列目と言うことじゃないからね。
カラム4 カラム2 カラム1 カラム3
かも知れない。
例えば ”カラム3” と言うカラム名が指定されたとして書いてみて。3列目と言うことじゃないからね。
カラム4 カラム2 カラム1 カラム3
かも知れない。
509デフォルトの名無しさん
2019/03/05(火) 08:10:31.80ID:utDz1VTj 変な流れが続いていたから、バカっぽいお題をいくつか出した後に一見まともそうなお題のふりして宿題をやってもらおうという腹かと勘ぐってしまう。
510デフォルトの名無しさん
2019/03/05(火) 09:08:51.84ID:BKNc7BtY511デフォルトの名無しさん
2019/03/05(火) 09:12:40.32ID:DIrFqE8l >>510
宿題は自分でやれカス
宿題は自分でやれカス
512デフォルトの名無しさん
2019/03/05(火) 09:42:11.28ID:BKNc7BtY >>511
お前の宿題だが
お前の宿題だが
513デフォルトの名無しさん
2019/03/05(火) 09:45:18.09ID:DIrFqE8l 死ね
514デフォルトの名無しさん
2019/03/05(火) 11:33:12.77ID:7U5lBe0C だから言語制限なしで通すとやっぱネタギレじゃん
515デフォルトの名無しさん
2019/03/05(火) 12:09:12.75ID:KQ31R4yU お題1: テトリスタイリング問題を解決しろ
ここでテトリスタイリング問とは任意の図形のアスキーアートを入力すると
全てのテトリスのブロックに隣接するブロックの種類が異なるようにタイリングしたアスキーアートを出力する
問題である
お題2: テトリスタイリングNブロックス問題を解決しろ
ここでこの問題は上の問題でブロックの種類の数Nを最小にする問題である
例:
入力:
****
****
****
出力:
1002
1002
1122
ここでテトリスタイリング問とは任意の図形のアスキーアートを入力すると
全てのテトリスのブロックに隣接するブロックの種類が異なるようにタイリングしたアスキーアートを出力する
問題である
お題2: テトリスタイリングNブロックス問題を解決しろ
ここでこの問題は上の問題でブロックの種類の数Nを最小にする問題である
例:
入力:
****
****
****
出力:
1002
1002
1122
516デフォルトの名無しさん
2019/03/05(火) 12:21:13.18ID:WJ/srpVX517デフォルトの名無しさん
2019/03/05(火) 12:23:52.27ID:KQ31R4yU >>516
それでもええで
それでもええで
518デフォルトの名無しさん
2019/03/05(火) 23:56:55.78ID:0SMIqw+w >>515 ボクちゃんわかんない。
何で縦の列は1とか同じ種類が許されてるの? なんか上から下へとか言う動きを前提にしてるの?
何で縦の列は1とか同じ種類が許されてるの? なんか上から下へとか言う動きを前提にしてるの?
519デフォルトの名無しさん
2019/03/06(水) 01:19:54.96ID:tTGpH/KM >>518
https://upload.wikimedia.org/wikipedia/commons/9/9a/Tetrominoes_letter_oriented.png
片面テトロミノ(画像参照)を回転させて指定の形に詰め込め
ただし、同じテトロミノを隣接させてはいけない。 ってことじゃろ
515の出力例でいうと、
0は画像の水色、1は黄色、2は紫色の奴ってこと
https://upload.wikimedia.org/wikipedia/commons/9/9a/Tetrominoes_letter_oriented.png
片面テトロミノ(画像参照)を回転させて指定の形に詰め込め
ただし、同じテトロミノを隣接させてはいけない。 ってことじゃろ
515の出力例でいうと、
0は画像の水色、1は黄色、2は紫色の奴ってこと
520デフォルトの名無しさん
2019/03/06(水) 08:04:05.66ID:bBth0ZZS521デフォルトの名無しさん
2019/03/06(水) 10:13:54.30ID:Z0o65K/P522デフォルトの名無しさん
2019/03/06(水) 11:44:29.70ID:cM1JcwP7523デフォルトの名無しさん
2019/03/06(水) 11:58:00.89ID:OdnfdSEH524デフォルトの名無しさん
2019/03/06(水) 12:34:51.62ID:cM1JcwP7525デフォルトの名無しさん
2019/03/06(水) 12:44:07.40ID:OdnfdSEH527デフォルトの名無しさん
2019/03/06(水) 12:57:33.38ID:FCOQEIBI わかっても今のところ解く気は起きない
528デフォルトの名無しさん
2019/03/06(水) 12:58:29.33ID:Z0o65K/P >>522
あなた、前に書き込んでた中卒の人?
あなた、前に書き込んでた中卒の人?
530デフォルトの名無しさん
2019/03/06(水) 13:08:31.07ID:URj2ByGk >>524
>どうして4個固定なのか?
テトリスってゲームがあってそれに出てくるブロックが>>519
>>515
>全てのテトリスのブロック
https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9
テトリス
>4つの正方形を組み合わせて作られた、片面型テトロミノ状のブロックピース
>(以下の7種、本作ではこれらを「テトリミノ」(Tetrimino)と呼ぶ)
>がフィールド上方からランダムに1種類ずつ落下してくる。
>どうして4個固定なのか?
テトリスってゲームがあってそれに出てくるブロックが>>519
>>515
>全てのテトリスのブロック
https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%88%E3%83%AA%E3%82%B9
テトリス
>4つの正方形を組み合わせて作られた、片面型テトロミノ状のブロックピース
>(以下の7種、本作ではこれらを「テトリミノ」(Tetrimino)と呼ぶ)
>がフィールド上方からランダムに1種類ずつ落下してくる。
531デフォルトの名無しさん
2019/03/06(水) 13:09:30.85ID:f/NWPYTA532デフォルトの名無しさん
2019/03/06(水) 13:50:33.24ID:cM1JcwP7 >>530 片面テトリミノの基本は4個だけどこれを使う前提なら、3x5とか4の倍数の面積にならない図形は解けないよね。
聞いてるのは3x5はどうするのと言う話。
聞いてるのは3x5はどうするのと言う話。
533デフォルトの名無しさん
2019/03/06(水) 14:02:02.94ID:URj2ByGk >>532
「解けない」でいいんだろ
「解けない」でいいんだろ
534デフォルトの名無しさん
2019/03/06(水) 16:31:44.46ID:OdnfdSEH >>532
この問題は君の思ってる小学校の算数とは違うんだよ
この問題は君の思ってる小学校の算数とは違うんだよ
535デフォルトの名無しさん
2019/03/06(水) 18:11:04.36ID:+4ROOaYr 問題の難しさと、問題の曖昧さは関係ないけどな。
難しい問題の条件が曖昧だと鼻から解く気になれない。
難しい問題の条件が曖昧だと鼻から解く気になれない。
536デフォルトの名無しさん
2019/03/06(水) 18:18:58.86ID:OdnfdSEH 考えればわかることまでいちいち書かないのは常識
それを曖昧とは言わない
それを曖昧とは言わない
537デフォルトの名無しさん
2019/03/06(水) 19:39:35.98ID:RlXQ9XDp 数学者は常識人
538デフォルトの名無しさん
2019/03/06(水) 19:40:44.95ID:L0cGL7i+ 当たり前のことでもいちいち全部書くのがこの業界の常識だが
539デフォルトの名無しさん
2019/03/06(水) 19:57:47.15ID:2Etc0l5z 仕様書をやりとりしてみれば如何に他人に解らせることが難しいか理解できると思うけどな。 多分出題者は余り経験していないんだろう。
仕様をいい加減で進めても後で痛い目を見るのは自分。
(最初は完全でないのは当然、打ち合わせで抜けを詰めていけば良い話)
仕様をいい加減で進めても後で痛い目を見るのは自分。
(最初は完全でないのは当然、打ち合わせで抜けを詰めていけば良い話)
540デフォルトの名無しさん
2019/03/06(水) 20:41:28.07ID:OdnfdSEH541デフォルトの名無しさん
2019/03/06(水) 20:51:34.66ID:Xwbjxxrc お題の面白さに共感しなければ趣味だから解かない。
542デフォルトの名無しさん
2019/03/06(水) 21:21:50.81ID:FCOQEIBI そういや安かったのでPS4用のテトリスを何気なく買って連日やってたら慣れてきちゃってレベル15の40ライン消しが楽にできるようになってしまったなあ。
今さらテトリスうまくなってどうすんだ俺w
今さらテトリスうまくなってどうすんだ俺w
543デフォルトの名無しさん
2019/03/07(木) 03:21:20.86ID:QS9GxyX4 >>494
Kotlin
https://paiza.io/projects/w5ywqyfGfQpwllH68rmt5A
入力はカラム名の行が最初にあり、次の行からはデータが続き「# カラム名」の行で終わり、
そこで指定したカラム名の列の合計値が出力される。
エラーはデータが数値として解釈できない文字列、項目数がカラム名の数と一致しない行、
同一カラム名があった場合に出る。一度エラーになると # の行まで読み飛ばされる。
Kotlin
https://paiza.io/projects/w5ywqyfGfQpwllH68rmt5A
入力はカラム名の行が最初にあり、次の行からはデータが続き「# カラム名」の行で終わり、
そこで指定したカラム名の列の合計値が出力される。
エラーはデータが数値として解釈できない文字列、項目数がカラム名の数と一致しない行、
同一カラム名があった場合に出る。一度エラーになると # の行まで読み飛ばされる。
544デフォルトの名無しさん
2019/03/07(木) 17:22:14.11ID:bbRk4M8e お題
R言語にandmaginsとうう関数がある。
m行n列の行列を渡すと行ごとの合計と列ごとの合計を追加して
(m+1)行(n+1)列の行列を返す。
同様の関数をつくる。
1 2 3
4 5 6
が
1 2 3 6
4 5 6 15
5 7 9 21
となる
R言語にandmaginsとうう関数がある。
m行n列の行列を渡すと行ごとの合計と列ごとの合計を追加して
(m+1)行(n+1)列の行列を返す。
同様の関数をつくる。
1 2 3
4 5 6
が
1 2 3 6
4 5 6 15
5 7 9 21
となる
545デフォルトの名無しさん
2019/03/07(木) 19:35:31.07ID:gyMjU+f2546デフォルトの名無しさん
2019/03/07(木) 23:35:37.41ID:bSfNx8gZ >>544 Squeak/Pharo Smalltalk
| fn |
fn := [:arr | arr, {arr sum} collect: [:row | row, {row sum}]].
fn value: #(
(1 2 3)
(4 5 6)
).
"=> #(
(1 2 3 6)
(4 5 6 15)
(5 7 9 21)
) "
| fn |
fn := [:arr | arr, {arr sum} collect: [:row | row, {row sum}]].
fn value: #(
(1 2 3)
(4 5 6)
).
"=> #(
(1 2 3 6)
(4 5 6 15)
(5 7 9 21)
) "
547デフォルトの名無しさん
2019/03/08(金) 00:35:43.62ID:N66/0TP0 大文字小文字だけが異なる、ファイル名を見つける
入力
aB.txt
Ab.txt
xx
cd
cD
CD
出力
aB.txt : Ab.txt
cd : cD : CD
入力
aB.txt
Ab.txt
xx
cd
cD
CD
出力
aB.txt : Ab.txt
cd : cD : CD
548デフォルトの名無しさん
2019/03/08(金) 04:41:32.92ID:JrzgN4oN #!/bin/sh
infile="aB.txt Ab.txt xx cd cD CD"
for f in ${infile}; do
echo $f $(echo $f | tr [:lower:] [:upper:])
done | awk '
{ save[$2] = save[$2] " : " $1 }
END {
for (i in save) print save[i]
}' | sed 's/^ : //' | sort | awk 'NF > 1 {print}'
infile="aB.txt Ab.txt xx cd cD CD"
for f in ${infile}; do
echo $f $(echo $f | tr [:lower:] [:upper:])
done | awk '
{ save[$2] = save[$2] " : " $1 }
END {
for (i in save) print save[i]
}' | sed 's/^ : //' | sort | awk 'NF > 1 {print}'
549デフォルトの名無しさん
2019/03/08(金) 09:23:36.88ID:iTwHpxzE >>547 Squeak Smalltalk
| fn |
fn := [:arr |
| groups |
groups := arr groupBy: #asLowercase having: [:group | group size > 1].
groups values collect: #asArray
].
fn value: #('aB.txt' 'Ab.txt' 'xx' 'cd' 'cD' 'CD').
"=> #(('cd' 'cD' 'CD') ('aB.txt' 'Ab.txt')) "
| fn |
fn := [:arr |
| groups |
groups := arr groupBy: #asLowercase having: [:group | group size > 1].
groups values collect: #asArray
].
fn value: #('aB.txt' 'Ab.txt' 'xx' 'cd' 'cD' 'CD').
"=> #(('cd' 'cD' 'CD') ('aB.txt' 'Ab.txt')) "
550デフォルトの名無しさん
2019/03/08(金) 09:47:13.60ID:pv8HlopZ551547
2019/03/08(金) 11:48:57.26ID:N66/0TP0 同一フォルダ内での、大文字小文字だけが異なるファイル名は、Windows では作れないけど、
Linux では作れてしまうので、それをチェックする目的です
Linuxでも、こういうファイル名は作らない方がよい
Linux では作れてしまうので、それをチェックする目的です
Linuxでも、こういうファイル名は作らない方がよい
552デフォルトの名無しさん
2019/03/08(金) 16:35:28.24ID:VhFMuL/G >>551
死ね
死ね
553デフォルトの名無しさん
2019/03/08(金) 17:12:36.80ID:qP6cz7Aj 時々死ねと言うやついるけど同じやつなのか? いい加減で大人になれ。
554デフォルトの名無しさん
2019/03/08(金) 18:19:49.57ID:aY8HpC9F イ`
555デフォルトの名無しさん
2019/03/08(金) 18:42:00.27ID:eAQ60MzF お題: 1=2を証明しろ
証明出来ないは無しで
証明出来ないは無しで
556デフォルトの名無しさん
2019/03/08(金) 18:49:56.10ID:qP6cz7Aj >>555 それは言語によるんじゃないの? 論理的にはあり得ない。
一般的には、0がFalse でそれ以外がTrueと言うだけでは?
一般的には、0がFalse でそれ以外がTrueと言うだけでは?
557さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/08(金) 18:58:42.07ID:8R2ZaOuQ 整数のオーバーフロー使えば楽に証明できるけど、それはもはや基礎数学の整数じゃないし。
558デフォルトの名無しさん
2019/03/08(金) 19:14:26.55ID:2owB+W9f559デフォルトの名無しさん
2019/03/08(金) 19:17:05.52ID:ru9qZk5w お題:
N人の人物がある部屋に出入りしています。
i番目の人は時刻a[i]に入室し、時刻b[i]に退室します。(1 <= a[i] < b[i])
すべての人は入退室時に以下の通り行動します。
・入室時に、照明がOFFならば照明をONにする。
・退室時に、室内に自分以外に誰もいなければ照明をOFFにする。
最初は照明がOFFになっていて室内には誰もいません。
複数の人物が同時に入退室することはないものとします。
照明がONになっている時間の合計を求めなさい。
a={1,3,5}
b={2,4,6}
=> 3
a={1,2}
b={5,6}
=> 5
a={100,1,2}
b={105,3,4}
=> 8
N人の人物がある部屋に出入りしています。
i番目の人は時刻a[i]に入室し、時刻b[i]に退室します。(1 <= a[i] < b[i])
すべての人は入退室時に以下の通り行動します。
・入室時に、照明がOFFならば照明をONにする。
・退室時に、室内に自分以外に誰もいなければ照明をOFFにする。
最初は照明がOFFになっていて室内には誰もいません。
複数の人物が同時に入退室することはないものとします。
照明がONになっている時間の合計を求めなさい。
a={1,3,5}
b={2,4,6}
=> 3
a={1,2}
b={5,6}
=> 5
a={100,1,2}
b={105,3,4}
=> 8
560デフォルトの名無しさん
2019/03/08(金) 20:42:26.76ID:q/o0JPH8561デフォルトの名無しさん
2019/03/08(金) 20:42:27.70ID:AweN/YnK ★ぁりがdヾ(。・ω・。)ノぁりがd★
562デフォルトの名無しさん
2019/03/08(金) 20:54:42.10ID:2owB+W9f563デフォルトの名無しさん
2019/03/08(金) 21:22:26.01ID:QMcItLTV564デフォルトの名無しさん
2019/03/08(金) 21:55:03.73ID:2owB+W9f565デフォルトの名無しさん
2019/03/09(土) 08:53:56.42ID:irV15TzB566562
2019/03/09(土) 09:29:27.51ID:8CAUa/TL >>559 ruby
すこーしすっきり
f = ->a, b {a.zip(b).map {|c| (c.first...c.last).to_a}.inject(:|).size}
↓
f = ->a, b {a.zip(b).map {|c, d| [*c...d]}.inject(:|).size}
すこーしすっきり
f = ->a, b {a.zip(b).map {|c| (c.first...c.last).to_a}.inject(:|).size}
↓
f = ->a, b {a.zip(b).map {|c, d| [*c...d]}.inject(:|).size}
567547
2019/03/09(土) 10:58:09.02ID:GVs3bbIF >>564
たった2行とは、素晴らしい!
JavaScript(JS)とか、関数型プログラミングだね
f(&:upcase), f(&:chomp)
関数型でも、こういうように呼ぶ関数名が明確にわかる点では、Ruby はJS をしのぐ!
漏れが以下で作ったけど、手続き型の処理で、10行以上も掛かったw
情けない
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/234
たった2行とは、素晴らしい!
JavaScript(JS)とか、関数型プログラミングだね
f(&:upcase), f(&:chomp)
関数型でも、こういうように呼ぶ関数名が明確にわかる点では、Ruby はJS をしのぐ!
漏れが以下で作ったけど、手続き型の処理で、10行以上も掛かったw
情けない
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/234
568デフォルトの名無しさん
2019/03/09(土) 12:51:20.88ID:C6v7oEvs クソみてーな恣意的な記号使いはperl譲りだな
569デフォルトの名無しさん
2019/03/09(土) 13:17:28.26ID:capoU8RA アンダースコア_はprologの時点であるんじゃね
それに記号なら恣意的だろ
それに記号なら恣意的だろ
570デフォルトの名無しさん
2019/03/09(土) 19:25:50.03ID:hBO8FWAE >>544
Haskell
main = mapM_ print $ newxss ++ [zipWith (+) (newxss!!0) (newxss!!1)]
xss = [[1,2,3],[4,5,6]]
newxss = map (\xs -> xs ++ [sum xs]) xss
Haskell
main = mapM_ print $ newxss ++ [zipWith (+) (newxss!!0) (newxss!!1)]
xss = [[1,2,3],[4,5,6]]
newxss = map (\xs -> xs ++ [sum xs]) xss
571デフォルトの名無しさん
2019/03/09(土) 19:49:27.50ID:R3sqYFdd お題:文字列と数値nが与えられるのでn番目の文字とそれ以外の文字を上下にスライドさせて表示する
入力
abc 2
出力
*b*
a*c
入力
abc 2
出力
*b*
a*c
572デフォルトの名無しさん
2019/03/09(土) 19:57:53.65ID:C6v7oEvs お題か出力のどっちかが間違っている
日本語勉強した方がいい
日本語勉強した方がいい
573デフォルトの名無しさん
2019/03/09(土) 19:58:57.39ID:hBO8FWAE >>544,570
任意の数の行列だったか。。。
修正
main = mapM_ print $ newxss ++ [lastxs]
xss = [[1,2,3],[4,5,6],[7,8,9]]
newxss = map (\xs -> xs ++ [sum xs]) xss
lastxs = map sum $ retsu newxss
retsu ([]:xs) = []
retsu xss = map head xss:retsu (map tail xss)
任意の数の行列だったか。。。
修正
main = mapM_ print $ newxss ++ [lastxs]
xss = [[1,2,3],[4,5,6],[7,8,9]]
newxss = map (\xs -> xs ++ [sum xs]) xss
lastxs = map sum $ retsu newxss
retsu ([]:xs) = []
retsu xss = map head xss:retsu (map tail xss)
574デフォルトの名無しさん
2019/03/09(土) 20:10:49.99ID:0OOZ8KrR >>557
オーバーフローは数学ですらないだろ。こっちは数学。
宇宙を支えていたのは、驚異のたし算だった
私がこのたし算を知ったのは20歳のころでした。その衝撃は、私の運命を変えるまでの威力を持っていました。
私の大学は2年生で所属学科を決めるシステムになっており、私はアインシュタインに憧れて物理学科に進もうとしていました。
その私が出会ったのがラマヌジャン(1887-1920)です。彼が描いた2つの絵を見た瞬間、私の中で何かが変わりました。
http://jbpress.ismedia.jp/mwimgs/4/b/400/img_4b7f33022b840f792a0324a10b89a24d369437.jpg
http://jbpress.ismedia.jp/articles/-/46939
オーバーフローは数学ですらないだろ。こっちは数学。
宇宙を支えていたのは、驚異のたし算だった
私がこのたし算を知ったのは20歳のころでした。その衝撃は、私の運命を変えるまでの威力を持っていました。
私の大学は2年生で所属学科を決めるシステムになっており、私はアインシュタインに憧れて物理学科に進もうとしていました。
その私が出会ったのがラマヌジャン(1887-1920)です。彼が描いた2つの絵を見た瞬間、私の中で何かが変わりました。
http://jbpress.ismedia.jp/mwimgs/4/b/400/img_4b7f33022b840f792a0324a10b89a24d369437.jpg
http://jbpress.ismedia.jp/articles/-/46939
576デフォルトの名無しさん
2019/03/09(土) 20:25:11.72ID:hBO8FWAE577デフォルトの名無しさん
2019/03/09(土) 20:38:18.94ID:1xJckQ5D >>544
kotlin
https://paiza.io/projects/cL6xIQA--yDFZ1pjndvzAw
Double型でやったら出力に小数点以下が付加されたが値として間違ってるわけではないのでそのままにする。
kotlin
https://paiza.io/projects/cL6xIQA--yDFZ1pjndvzAw
Double型でやったら出力に小数点以下が付加されたが値として間違ってるわけではないのでそのままにする。
578デフォルトの名無しさん
2019/03/10(日) 01:41:18.58ID:5A3UW8N7 >>544 Python
import numpy as np
# 何行何列でも良い
ar =[
[1,2,3,4],
[4,5,6,7],
[7,8,9,10]
]
#縦に足して行を追加
r=np.vstack((ar,np.sum(ar,axis=0)))
#横に足して列を追加
ans=np.hstack((r,np.sum(r,axis=1).reshape((-1,1))))
print('ans=\n',ans)
'''
ans=
[[ 1 2 3 4 10]
[ 4 5 6 7 22]
[ 7 8 9 10 34]
[12 15 18 21 66]]
'''
import numpy as np
# 何行何列でも良い
ar =[
[1,2,3,4],
[4,5,6,7],
[7,8,9,10]
]
#縦に足して行を追加
r=np.vstack((ar,np.sum(ar,axis=0)))
#横に足して列を追加
ans=np.hstack((r,np.sum(r,axis=1).reshape((-1,1))))
print('ans=\n',ans)
'''
ans=
[[ 1 2 3 4 10]
[ 4 5 6 7 22]
[ 7 8 9 10 34]
[12 15 18 21 66]]
'''
579デフォルトの名無しさん
2019/03/10(日) 03:08:27.84ID:LqrBe0vy >>571 ruby
s = "abc"
n = 2
t = "*" * s.length
t[n - 1] = s[n - 1]
u = s.clone
u[n - 1] = "*"
puts(t, u)
s = "abc"
n = 2
t = "*" * s.length
t[n - 1] = s[n - 1]
u = s.clone
u[n - 1] = "*"
puts(t, u)
580デフォルトの名無しさん
2019/03/10(日) 11:57:40.70ID:e6SI07pl581デフォルトの名無しさん
2019/03/10(日) 13:31:21.17ID:vqbsu7fW >>571
Haskell
main = do
putStrLn $ seclet "abc" (==) 2
putStrLn $ seclet "abc" (/=) 2
seclet lst func num = seclet' lst func 1 num
where
seclet' [] _ _ _ = []
seclet' (x:xs) f n a | f n a = x: seclet' xs f (n + 1) a
seclet' (_:xs) f n a = '*': seclet' xs f (n + 1) a
Haskell
main = do
putStrLn $ seclet "abc" (==) 2
putStrLn $ seclet "abc" (/=) 2
seclet lst func num = seclet' lst func 1 num
where
seclet' [] _ _ _ = []
seclet' (x:xs) f n a | f n a = x: seclet' xs f (n + 1) a
seclet' (_:xs) f n a = '*': seclet' xs f (n + 1) a
582デフォルトの名無しさん
2019/03/10(日) 13:56:33.99ID:vqbsu7fW583デフォルトの名無しさん
2019/03/10(日) 17:19:36.82ID:lsf+n+kn >>571 Perl5
($s, $n)= qw{abc 2};
@s = split'',$s;
@t = qw{*} x @s;
$n--;
($s[$n], $t[$n]) = ($t[$n], $s[$n]);
print @t, "\n", @s, "\n";
実行結果
~ $ perl 13_571.pl
*b*
a*c
($s, $n)= qw{abc 2};
@s = split'',$s;
@t = qw{*} x @s;
$n--;
($s[$n], $t[$n]) = ($t[$n], $s[$n]);
print @t, "\n", @s, "\n";
実行結果
~ $ perl 13_571.pl
*b*
a*c
584デフォルトの名無しさん
2019/03/10(日) 17:47:53.28ID:lsf+n+kn >>544 Perl5
@a = ([1, 2, 3,],
[4, 5, 6]);
use List::Util sum;
push @$_, sum(@$_) for @a;
for $i (0..$#{$a[0]}) {
push @b, sum(map{$a[$_][$i]} 0..$#a)
}
print "@$_\n" for @a;
print "@b\n";
実行結果
~ $ perl 13_544.pl
1 2 3 6
4 5 6 15
5 7 9 21
@a = ([1, 2, 3,],
[4, 5, 6]);
use List::Util sum;
push @$_, sum(@$_) for @a;
for $i (0..$#{$a[0]}) {
push @b, sum(map{$a[$_][$i]} 0..$#a)
}
print "@$_\n" for @a;
print "@b\n";
実行結果
~ $ perl 13_544.pl
1 2 3 6
4 5 6 15
5 7 9 21
585デフォルトの名無しさん
2019/03/10(日) 20:48:09.83ID:z5UigTCL586デフォルトの名無しさん
2019/03/10(日) 21:12:33.92ID:ObNpfzdX ここっておっさんが多いイメージ
587デフォルトの名無しさん
2019/03/10(日) 21:16:39.36ID:KcIurEvX588デフォルトの名無しさん
2019/03/10(日) 21:20:18.73ID:z5UigTCL589デフォルトの名無しさん
2019/03/10(日) 21:46:22.59ID:KcIurEvX590デフォルトの名無しさん
2019/03/10(日) 21:59:51.08ID:5renFNS0591567
2019/03/10(日) 22:01:14.30ID:bEzyp4mc >>588
余談だが、Ruby のString#lines の所を見たら、chomp: true で改行も削除できる!
Rubyは、色々と便利なものを作っている
p ary = <<"EOT".lines( chomp: true ) # 配列
a
b
EOT
#=> ["a", "b"]
余談だが、Ruby のString#lines の所を見たら、chomp: true で改行も削除できる!
Rubyは、色々と便利なものを作っている
p ary = <<"EOT".lines( chomp: true ) # 配列
a
b
EOT
#=> ["a", "b"]
592デフォルトの名無しさん
2019/03/10(日) 22:14:16.51ID:SJp/1k7U593デフォルトの名無しさん
2019/03/10(日) 22:19:23.44ID:KcIurEvX594デフォルトの名無しさん
2019/03/10(日) 22:19:48.10ID:KcIurEvX ごめん間違えた
>>571です
>>571です
595デフォルトの名無しさん
2019/03/10(日) 23:51:29.55ID:THpHptm5596デフォルトの名無しさん
2019/03/11(月) 00:57:47.40ID:HrDBQthw >>571 Squeak/Pharo Smalltalk。nを複数指定可で
| fn |
fn := [:str :ns |
| ans |
ans := (String new: str size withAll: $*), String cr, str.
ns do: [:n | ans swap: n with: n + str size + 1].
ans
].
fn value: 'abc' value: #(2). "=>
'*b*
a*c' "
fn value: 'abcdef' value: #(2 3 5). "=>
'*bc*e*
a**d*f' "
| fn |
fn := [:str :ns |
| ans |
ans := (String new: str size withAll: $*), String cr, str.
ns do: [:n | ans swap: n with: n + str size + 1].
ans
].
fn value: 'abc' value: #(2). "=>
'*b*
a*c' "
fn value: 'abcdef' value: #(2 3 5). "=>
'*bc*e*
a**d*f' "
597デフォルトの名無しさん
2019/03/11(月) 01:39:23.53ID:+Nlo5Elt598デフォルトの名無しさん
2019/03/11(月) 02:41:21.51ID:+Nlo5Elt599デフォルトの名無しさん
2019/03/11(月) 07:59:46.54ID:hFtMxxmn >>547 Perl5
https://ideone.com/Mbj5Hz
push @{$h{lc $_}}, $_ for <STDIN>;
print "@{$_}" for grep{@$_ > 1} values %h;
https://ideone.com/Mbj5Hz
push @{$h{lc $_}}, $_ for <STDIN>;
print "@{$_}" for grep{@$_ > 1} values %h;
600デフォルトの名無しさん
2019/03/11(月) 09:18:51.69ID:D2PSGRy3 >>571 Python
def split3(s,p=1) :
r0= s[:p]+'*'+s[p+1:]
r1= '*'*p + s[p] + '*'*(len(s)-(p+1))
return r0+'\n'+r1
print(split3('abcd',2))
print(split3('abc',0))
'''結果
ab*d
**c*
*bc
a**
'''
def split3(s,p=1) :
r0= s[:p]+'*'+s[p+1:]
r1= '*'*p + s[p] + '*'*(len(s)-(p+1))
return r0+'\n'+r1
print(split3('abcd',2))
print(split3('abc',0))
'''結果
ab*d
**c*
*bc
a**
'''
601デフォルトの名無しさん
2019/03/11(月) 10:48:42.57ID:u4Ymakq9 お題: 下の例のような入力から例の出力のアスキーアートを出力する。それ以外は自由
例:
入力: >>>>>vvvvv<<<<^^^^
出力:
>>>>>
^****v
^****v
^****v
^****v
<<<<v
例:
入力: >>>>>vvvvv<<<<^^^^
出力:
>>>>>
^****v
^****v
^****v
^****v
<<<<v
602デフォルトの名無しさん
2019/03/11(月) 11:00:20.46ID:JmszPBJl これって一歩目はなんでもいいよね
603デフォルトの名無しさん
2019/03/11(月) 11:35:10.21ID:AGCERQh7 >>571 Io
f := method(s,n,
"*" repeated(s size)atPut(n - 1, s at(n - 1)) println
s asMutable atPut(n - 1, 42)println
)
f("abc",2)
実行結果
*b*
a*c
f := method(s,n,
"*" repeated(s size)atPut(n - 1, s at(n - 1)) println
s asMutable atPut(n - 1, 42)println
)
f("abc",2)
実行結果
*b*
a*c
604デフォルトの名無しさん
2019/03/11(月) 11:45:13.16ID:+cahZmCl >>601
それ3番目と4番目は必ず1番目と2番目の長さ-1になってるの?
それ3番目と4番目は必ず1番目と2番目の長さ-1になってるの?
605デフォルトの名無しさん
2019/03/11(月) 11:48:56.08ID:u4Ymakq9606デフォルトの名無しさん
2019/03/11(月) 13:45:52.04ID:+cahZmCl >>605
仕様をきっちり決めないと解釈の違いから沢山の違った回答が出てくる可能性があるのだが、それで良いと。
仕様をきっちり決めないと解釈の違いから沢山の違った回答が出てくる可能性があるのだが、それで良いと。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市のプライドはエベレストより高い。だから、発言を撤回できない [805596214]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
- 日経平均、49000円割れ 国賊高市を許すな ★2 [402859164]
