[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/28 06:35 / Filesize : 332 KB / Number-of Response : 1028
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part13



1 名前:デフォルトの名無しさん [2019/02/03(日) 11:21:53.20 ID:72eosYJ+.net]
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
https://mevius.2ch.net/test/read.cgi/tech/1538096947/

529 名前:デフォルトの名無しさん mailto:sage [2019/03/05(火) 23:56:55.78 ID:0SMIqw+w.net]
>>515 ボクちゃんわかんない。
何で縦の列は1とか同じ種類が許されてるの? なんか上から下へとか言う動きを前提にしてるの?

530 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 01:19:54.96 ID:tTGpH/KM.net]
>>518
https://upload.wikimedia.org/wikipedia/commons/9/9a/Tetrominoes_letter_oriented.png
片面テトロミノ(画像参照)を回転させて指定の形に詰め込め
ただし、同じテトロミノを隣接させてはいけない。 ってことじゃろ

515の出力例でいうと、
0は画像の水色、1は黄色、2は紫色の奴ってこと

531 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 08:04:05.66 ID:bBth0ZZS.net]
>>515 その出力例だと、タイルの種類は3種類じゃないの?
1と2を同じだとみなせば、同じ種類と隣接するからダメだろ?

>>516 だと完全に2種類だが。

532 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 10:13:54.30 ID:Z0o65K/P.net]
>>520
>>519

533 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 11:44:29.70 ID:cM1JcwP7.net]
>>521
だからこそ出題例>>515は3種類のブロックを使ってるんだろ? 
2種類で出来ていないから問2に対しては不正解では?

534 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 11:58:00.89 ID:OdnfdSEH.net]
>>522
例がお題2とお題1両方の答えになっているなんてことはどこにも書いてないだろ
例を見ればだれでもどのお題の答えかわかるだろ

535 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 12:34:51.62 ID:cM1JcwP7.net]
>>523 誰でも解ると言うのは言い過ぎ。 何が正しいのかを示すのが例なんだし。
なんにせよお題の出し方が独断すぎるよ。
テトリスタイリングなんて知らない人にとっては説明不足だし
>>519 の説明があって初めて平面上の回転図形は同じとみなし、裏表の回転は許さないと解るけど。
それでも519のブロックは4個の組み合わせのブロックしかないが、どうして4個固定なのか? 最大辺の個数を単位とするのか?

この場合は5個固定?
***
***
***
***
***

536 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 12:44:07.40 ID:OdnfdSEH.net]
>>524
釣りだろ?
本当にわからないのなら病院に行くレベルw

537 名前:516 mailto:sage [2019/03/06(水) 12:54:30.31 ID:l ]
[ここ壊れてます]



538 名前:TLUMkgQ.net mailto: >>523
分からなかった
[]
[ここ壊れてます]

539 名前:デフォルトの名無しさん [2019/03/06(水) 12:57:33.38 ID:FCOQEIBI.net]
わかっても今のところ解く気は起きない

540 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 12:58:29.33 ID:Z0o65K/P.net]
>>522
あなた、前に書き込んでた中卒の人?

541 名前:デフォルトの名無しさん [2019/03/06(水) 13:01:54.00 ID:uLgh04dF.net]
>>199>>441が理解できなかったってやつと同一人物なのは分かる

542 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 13:08:31.07 ID:URj2ByGk.net]
>>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種類ずつ落下してくる。

543 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 13:09:30.85 ID:f/NWPYTA.net]
>>441は分からんかった
問題を考えさせてほしい
問題文を考えさせるんじゃなく

544 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 13:50:33.24 ID:cM1JcwP7.net]
>>530 片面テトリミノの基本は4個だけどこれを使う前提なら、3x5とか4の倍数の面積にならない図形は解けないよね。
聞いてるのは3x5はどうするのと言う話。

545 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 14:02:02.94 ID:URj2ByGk.net]
>>532
「解けない」でいいんだろ

546 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 16:31:44.46 ID:OdnfdSEH.net]
>>532
この問題は君の思ってる小学校の算数とは違うんだよ

547 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:11:04.36 ID:+4ROOaYr.net]
問題の難しさと、問題の曖昧さは関係ないけどな。
難しい問題の条件が曖昧だと鼻から解く気になれない。



548 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 18:18:58.86 ID:OdnfdSEH.net]
考えればわかることまでいちいち書かないのは常識
それを曖昧とは言わない

549 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:39:35.98 ID:RlXQ9XDp.net]
数学者は常識人

550 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:40:44.95 ID:L0cGL7i+.net]
当たり前のことでもいちいち全部書くのがこの業界の常識だが

551 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 19:57:47.15 ID:2Etc0l5z.net]
仕様書をやりとりしてみれば如何に他人に解らせることが難しいか理解できると思うけどな。 多分出題者は余り経験していないんだろう。

仕様をいい加減で進めても後で痛い目を見るのは自分。
(最初は完全でないのは当然、打ち合わせで抜けを詰めていけば良い話)

552 名前:デフォルトの名無しさん mailto:sage [2019/03/06(水) 20:41:28.07 ID:OdnfdSEH.net]
>>538
テトリスがなにかなんて自分でググって調べればいいことだろ
そんなことまで面倒みれない

553 名前:デフォルトの名無しさん [2019/03/06(水) 20:51:34.66 ID:Xwbjxxrc.net]
お題の面白さに共感しなければ趣味だから解かない。

554 名前:デフォルトの名無しさん [2019/03/06(水) 21:21:50.81 ID:FCOQEIBI.net]
そういや安かったのでPS4用のテトリスを何気なく買って連日やってたら慣れてきちゃってレベル15の40ライン消しが楽にできるようになってしまったなあ。
今さらテトリスうまくなってどうすんだ俺w

555 名前:デフォルトの名無しさん [2019/03/07(木) 03:21:20.86 ID:QS9GxyX4.net]
>>494
Kotlin
https://paiza.io/projects/w5ywqyfGfQpwllH68rmt5A

入力はカラム名の行が最初にあり、次の行からはデータが続き「# カラム名」の行で終わり、
そこで指定したカラム名の列の合計値が出力される。

エラーはデータが数値として解釈できない文字列、項目数がカラム名の数と一致しない行、
同一カラム名があった場合に出る。一度エラーになると # の行まで読み飛ばされる。

556 名前:デフォルトの名無しさん [2019/03/07(木) 17:22:14.11 ID:bbRk4M8e.net]
お題
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
となる

557 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 19:35:31.07 ID:gyMjU+f2.net]
>>544
C++
https://ideone.com/XhFw95



558 名前:デフォルトの名無しさん mailto:sage [2019/03/07(木) 23:35:37.41 ID:bSfNx8gZ.net]
>>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)
) "

559 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 00:35:43.62 ID:N66/0TP0.net]
大文字小文字だけが異なる、ファイル名を見つける

入力
aB.txt
Ab.txt
xx
cd
cD
CD

出力
aB.txt : Ab.txt
cd : cD : CD

560 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 04:41:32.92 ID:JrzgN4oN.net]
#!/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}'

561 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 09:23:36.88 ID:iTwHpxzE.net]
>>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')) "

562 名前:デフォルトの名無しさん [2019/03/08(金) 09:47:13.60 ID:pv8HlopZ.net]
>>547
それはWindowsとかでは試せないのでは?ディレクトリが違うならできるだろうけど。
(まあWindowsでもWSLでUbuntuとか動かせばできるが)

563 名前:547 mailto:sage [2019/03/08(金) 11:48:57.26 ID:N66/0TP0.net]
同一フォルダ内での、大文字小文字だけが異なるファイル名は、Windows では作れないけど、
Linux では作れてしまうので、それをチェックする目的です

Linuxでも、こういうファイル名は作らない方がよい

564 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 16:35:28.24 ID:VhFMuL/G.net]
>>551
死ね

565 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 17:12:36.80 ID:qP6cz7Aj.net]
時々死ねと言うやついるけど同じやつなのか? いい加減で大人になれ。

566 名前:デフォルトの名無しさん [2019/03/08(金) 18:19:49.57 ID:aY8HpC9F.net]
イ`

567 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:42:00.27 ID:eAQ60MzF.net]
お題: 1=2を証明しろ
証明出来ないは無しで



568 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 18:49:56.10 ID:qP6cz7Aj.net]
>>555 それは言語によるんじゃないの? 論理的にはあり得ない。
一般的には、0がFalse でそれ以外がTrueと言うだけでは?

569 名前:さまよえる蟻人間 mailto:sage [2019/03/08(金) 18:58:42.07 ID:8R2ZaOuQ.net]
整数のオーバーフロー使えば楽に証明できるけど、それはもはや基礎数学の整数じゃないし。

570 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 19:14:26.55 ID:2owB+W9f.net]
>>544 octave
https://ideone.com/JoTcaP

571 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 19:17:05.52 ID:ru9qZk5w.net]
お題:
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

572 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:42:26.76 ID:q/o0JPH8.net]
>>364
brainf*ck
>++++++++++<+[,.>.<]

573 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:42:27.70 ID:AweN/YnK.net]
★ぁりがdヾ(。・ω・。)ノぁりがd★

574 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 20:54:42.10 ID:2owB+W9f.net]
>>559 ruby
https://ideone.com/yo3mvc

575 名前:デフォルトの名無しさん [2019/03/08(金) 21:22:26.01 ID:QMcItLTV.net]
>>559 Common Lisp
https://ideone.com/2hHoAC

576 名前:デフォルトの名無しさん mailto:sage [2019/03/08(金) 21:55:03.73 ID:2owB+W9f.net]
>>547 ruby
https://ideone.com/faTKf5

577 名前:デフォルトの名無しさん [2019/03/09(土) 08:53:56.42 ID:irV15TzB.net]
>>410 J
f =: 3 : 0
 > , { ;/(,. toupper) y
)



578 名前:562 mailto:sage [2019/03/09(土) 09:29:27.51 ID:8CAUa/TL.net]
>>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}

579 名前:547 mailto:sage [2019/03/09(土) 10:58:09.02 ID:GVs3bbIF.net]
>>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

580 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 12:51:20.88 ID:C6v7oEvs.net]
クソみてーな恣意的な記号使いはperl譲りだな

581 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 13:17:28.26 ID:capoU8RA.net]
アンダースコア_はprologの時点であるんじゃね
それに記号なら恣意的だろ

582 名前:デフォルトの名無しさん [2019/03/09(土) 19:25:50.03 ID:hBO8FWAE.net]
>>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

583 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:49:27.50 ID:R3sqYFdd.net]
お題:文字列と数値nが与えられるのでn番目の文字とそれ以外の文字を上下にスライドさせて表示する

入力
abc 2

出力
*b*
a*c

584 名前:デフォルトの名無しさん mailto:sage [2019/03/09(土) 19:57:53.65 ID:C6v7oEvs.net]
お題か出力のどっちかが間違っている
日本語勉強した方がいい

585 名前:デフォルトの名無しさん [2019/03/09(土) 19:58:57.39 ID:hBO8FWAE.net]
>>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)

586 名前:デフォルトの名無しさん [2019/03/09(土) 20:10:49.99 ID:0OOZ8KrR.net]
>>557
オーバーフローは数学ですらないだろ。こっちは数学。


宇宙を支えていたのは、驚異のたし算だった
私がこのたし算を知ったのは20歳のころでした。その衝撃は、私の運命を変えるまでの威力を持っていました。
私の大学は2年生で所属学科を決めるシステムになっており、私はアインシュタインに憧れて物理学科に進もうとしていました。
その私が出会ったのがラマヌジャン(1887-1920)です。彼が描いた2つの絵を見た瞬間、私の中で何かが変わりました。
jbpress.ismedia.jp/mwimgs/4/b/400/img_4b7f33022b840f792a0324a10b89a24d369437.jpg
jbpress.ismedia.jp/articles/-/46939

587 名前:さまよえる蟻人間 mailto:age [2019/03/09(土) 20:18:26.71 ID:XY+I2Bbh.net]
>>574
応用数学ではオーバーフローも数学の一種。



588 名前:デフォルトの名無しさん [2019/03/09(土) 20:25:11.72 ID:hBO8FWAE.net]
>>364

Haskell

main = mapM_ (\c -> putStrLn $ c:[]) "hello"

589 名前:デフォルトの名無しさん [2019/03/09(土) 20:38:18.94 ID:1xJckQ5D.net]
>>544
kotlin
https://paiza.io/projects/cL6xIQA--yDFZ1pjndvzAw

Double型でやったら出力に小数点以下が付加されたが値として間違ってるわけではないのでそのままにする。

590 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 01:41:18.58 ID:5A3UW8N7.net]
>>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]]
'''

591 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 03:08:27.84 ID:LqrBe0vy.net]
>>571 ruby
s = "abc"
n = 2
t = "*" * s.length
t[n - 1] = s[n - 1]
u = s.clone
u[n - 1] = "*"
puts(t, u)

592 名前:デフォルトの名無しさん [2019/03/10(日) 11:41:34.27 ID:x4ZRCWyR7]
>>544,573

n = 3

xss = (take n.iterate (map (+ n))) [1..n]

もっと大きな行列渡したくて、n*nのリスト(行列)作る関数作った。
こういうのって、手続き型と宣言型で違いが顕著だと思った。

593 名前:デフォルトの名無しさん [2019/03/10(日) 11:57:40.70 ID:e6SI07pl.net]
>>571 J
f =: 4 : 0
|: ((,. -.) (<:x) = i. # y ) {"1 '*' ,. y
)

2 f 'abc'
*b*
a*c

594 名前:デフォルトの名無しさん [2019/03/10(日) 13:31:21.17 ID:vqbsu7fW.net]
>>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

595 名前:デフォルトの名無しさん [2019/03/10(日) 13:56:33.99 ID:vqbsu7fW.net]
>>571
>>582

引数の順序入れ替えてmapM_ 使って、main部分を一行にまとめた。

main = mapM_ (putStrLn.seclet "abc" 2) [(==),(/=)]

seclet lst num func = seclet' lst 1 num func
where
seclet' [] _ _ _ = []
seclet' (x:xs) n a f | f n a = x: seclet' xs (n + 1) a f
seclet' (_:xs) n a f = '*': seclet' xs (n + 1) a f

596 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 17:19:36.82 ID:lsf+n+kn.net]
>>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

597 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 17:47:53.28 ID:lsf+n+kn.net]
>>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



598 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 20:48:09.83 ID:z5UigTCL.net]
>>571 octave
https://ideone.com/fEaJMh

599 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 21:12:33.92 ID:ObNpfzdX.net]
ここっておっさんが多いイメージ

600 名前:デフォルトの名無しさん [2019/03/10(日) 21:16:39.36 ID:KcIurEvX.net]
>>559
Java
https://paiza.io/projects/uoq0pfsAO5vRexzfWg1Mdw?language=java

601 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 21:20:18.73 ID:z5UigTCL.net]
>>571 ruby
https://ideone.com/6NM2Z2

>>567
String#lines ←これの存在知らなかった
勉強になりました

602 名前:デフォルトの名無しさん [2019/03/10(日) 21:46:22.59 ID:KcIurEvX.net]
>>547
Java
https://paiza.io/projects/2ff8V2wS29AjINHLm-bgYw?language=java

603 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 21:59:51.08 ID:5renFNS0.net]
>>571
@Mathematica

https://ideone.com/gDkzl4

604 名前:567 mailto:sage [2019/03/10(日) 22:01:14.30 ID:bEzyp4mc.net]
>>589
余談だが、Ruby のString#lines の所を見たら、chomp: true で改行も削除できる!
Rubyは、色々と便利なものを作っている

p ary = <<"EOT".lines( chomp: true ) # 配列
a
b
EOT

#=> ["a", "b"]

605 名前:デフォルトの名無しさん [2019/03/10(日) 22:14:16.51 ID:SJp/1k7U.net]
>>571 Common Lisp
https://ideone.com/cnTKML

606 名前:デフォルトの名無しさん [2019/03/10(日) 22:19:23.44 ID:KcIurEvX.net]
>>579
Java
https://paiza.io/projects/eCieLwJTqtEDvaYM4uknOA?language=java

607 名前:デフォルトの名無しさん [2019/03/10(日) 22:19:48.10 ID:KcIurEvX.net]
ごめん間違えた
>>571です



608 名前:デフォルトの名無しさん mailto:sage [2019/03/10(日) 23:51:29.55 ID:THpHptm5.net]
>>571 Node.js
https://ideone.com/l4XmDp

609 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 00:57:47.40 ID:HrDBQthw.net]
>>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' "

610 名前:デフォルトの名無しさん [2019/03/11(月) 01:39:23.53 ID:+Nlo5Elt.net]
>>547
Kotlin
https://paiza.io/projects/fxNs_pgfP7MwmXYp2xQ1YA

611 名前:デフォルトの名無しさん [2019/03/11(月) 02:41:21.51 ID:+Nlo5Elt.net]
>>559
Kotlin
https://paiza.io/projects/rbSY9Q6oTve1ILy1AIIj_g

612 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 07:59:46.54 ID:hFtMxxmn.net]
>>547 Perl5
https://ideone.com/Mbj5Hz


push @{$h{lc $_}}, $_ for <STDIN>;
print "@{$_}" for grep{@$_ > 1} values %h;

613 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 09:18:51.69 ID:D2PSGRy3.net]
>>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**
'''

614 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 10:48:42.57 ID:u4Ymakq9.net]
お題: 下の例のような入力から例の出力のアスキーアートを出力する。それ以外は自由
例:
入力: >>>>>vvvvv<<<<^^^^
出力:
>>>>>
^****v
^****v
^****v
^****v
<<<<v

615 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 11:00:20.46 ID:JmszPBJl.net]
これって一歩目はなんでもいいよね

616 名前:デフォルトの名無しさん [2019/03/11(月) 11:35:10.21 ID:AGCERQh7.net]
>>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

617 名前:デフォルトの名無しさん [2019/03/11(月) 11:45:13.16 ID:+cahZmCl.net]
>>602
それ3番目と4番目は必ず1番目と2番目の長さ-1になってるの?



618 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 11:48:56.08 ID:u4Ymakq9.net]
>>603
>>605
そういうめんどくさい質問がこないように、
それ以外は自由と付け加えてある

619 名前:デフォルトの名無しさん [2019/03/11(月) 13:45:52.04 ID:+cahZmCl.net]
>>606
仕様をきっちり決めないと解釈の違いから沢山の違った回答が出てくる可能性があるのだが、それで良いと。

620 名前:デフォルトの名無しさん [2019/03/11(月) 16:12:48.47 ID:TMb+YRHxP]
>>571
>>597

Haskellでも複数対応してみた。

main = mapM_ (putStrLn.secret "abcdef" [2,3,5]) [elem,notElem]

secret xs ns = secret' xs 1 ns
   where
      secret' [] _ _ _ = []
      secret' (x:xs) n as f | f n as = x:secret' xs (n + 1) as f
      secret' (_:xs) n as f = '*':secret' xs (n + 1) as f

621 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 15:42:22.28 ID:7+lrfCi1.net]
>>605
そもそも4方向にいくらかずつ進んで四角形で終わりという形とは限らないのでは?
ランダムに方向や距離を生成して既に通った道も上書きするような入力を許容すると考えたっていいはず。

622 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 16:07:33.07 ID:5vEtkzIB.net]
>>606 何でこれ以外の形は許さんと言えないんだ?
自由にどうぞなんて問題じゃ無いだろ。

623 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 16:18:14.19 ID:ZVqwh3rP.net]
>>607,610
こいつらホント掃き溜めのゴミだな

624 名前:デフォルトの名無しさん [2019/03/11(月) 16:19:55.06 ID:+cahZmCl.net]
>>571
Kotlin
https://paiza.io/projects/fOvQDvJ6VoTchgVL3pYJpw

625 名前:デフォルトの名無しさん [2019/03/11(月) 16:25:40.59 ID:+cahZmCl.net]
>>609
なるほど。しかしそれならばその事を書いておいて欲しかったな。

>>611
何を作れば良いのかよくわからないから質問しているだけなのだが。それが君にとって何か不都合なのか?

626 名前:デフォルトの名無しさん mailto:sage [2019/03/11(月) 16:58:12.79 ID:PGatxMde.net]
>>602
出力おかしくねぇ?最初と最後の行は5列だけど
間の行ぜんぶ6列になってるぞ?

出力:
>>>>>
^****v
^****v
^****v
^****v
<<<<v

こうじゃね?
>>>>>
^***v
^***v
^***v
^***v
<<<<v

627 名前:デフォルトの名無しさん [2019/03/11(月) 17:14:58.23 ID:+cahZmCl.net]
ま、いいや。よくわかんない問題は放っておこう。



628 名前:デフォルトの名無しさん [2019/03/11(月) 18:14:45.27 ID:I7wjNxVQq]
>>547

Haskell

import Data.Char

main = (mapM_ print.filename) ["a","aB.txt","Ab.txt","xx","cd","cD","CD","f"]

filename [] = []
filename (xs:xss) |length a > 1 = a:(filename.drop (length a)) (xs:xss)
   where
      a = filter ((map toUpper xs ==).map toUpper) (xs:xss)
filename (_:xss) = filename xss

629 名前:デフォルトの名無しさん [2019/03/11(月) 19:08:54.88 ID:TMb+YRHxP]
ソートするの忘れてた…。

import Data.Char

main = (mapM_ print.filename) ["a","aB.txt","Ab.txt","xx","cd","cD","CD","ab.txt","f"]

filename [] = []
filename (xs:xss) | length a > 1 = a:(filename.drop (length a)) sorted
   where
      a = filter ((map toUpper xs ==).map toUpper) sorted
      sorted = ssort (xs:xss)
filename (_:xss) = filename xss

ssort [] = []
ssort xs = minimum xs:(ssort.delete (minimum xs)) xs

delete _ [] = []
delete n (x:xs) | n == x = xs
delete n (x:xs) = x:delete xs






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<332KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef