TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
delphiで作った有名ソフトって何があるの?
BrainFuck Part.3 <[+-.,]>
次世代言語12 Go Rust Swift Kotlin TypeScript
C言語なら俺に聞け 155
Tapestryについて語ろうよ!
家計簿ソフトを作る
この先き主流となる言語
mallocの後にfree不要と言うバカいるの?Part2
ふらっと C#,C♯,C#(初心者用) Part144
C++相談室 part144

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


1 :2019/05/18 〜 最終レス :2019/07/16
プログラミングのお題スレです。

【出題と回答例】
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.sc/test/read.cgi/tech/1549160513/

2 :
2get!

3 :
#!/bin/sh

echo 1乙

4 :
>>1

>>前スレ920
C
https://ideone.com/bz7Y5P

5 :
お題
1. URLエンコード
次の文字列をURLエンコード(パーセントエンコーディング)せよ。
但しURLエンコード専用ライブラリだけは使わない事。
‘日 本’
( 全角2文字の間に半角スペースが一つ入ってる.)

元の文字コードはUTF8とする。 この場合は7バイト。
パーセントエンコードとは、バイトの並びについて各バイトを「%XX」(XXは十六進法)という文字列への変換である。 バイト列への変換はライブラリを使っても良い。

正解(アルファベットは小文字も可)
%E6%97%A5%20%E6%9C%AC

2. URLデコード
1でURLエンコードされたものをURLデコードせよ。
URLデコード用ライブラリがあれば使う事。
正解 日 本

6 :
>>5 python

from urllib.parse import unquote #,quote
url = '日 本'

urle = ''.join([ '%{:x}'.format(b) for b in url.encode('UTF-8') ])

print(urle) # encode same #print(quote(url))
print(unquote(urle)) # decode

''' # 出力
%e6%97%a5%20%e6%9c%ac
日 本
'''

7 :
何も考えないバカはすぐに飛びつくなぁ
これお題に見せかけた課題か宿題だろw

8 :
>>7
出題者本人が回答しているだけだろ。
何も考えない以下略

9 :
各桁を足し合わせたら引数で与えられた数になるものを5個返す関数を作れ。

例:
sumnum 12
> [39,48,57,66,75] <- 3 + 9 = 12, 4 + 8 = 12, 5 + 7 = 12, 6 + 6 = 12, 7 + 5 = 12

10 :
>>5
https://mevius.2ch.sc/test/read.cgi/tech/1434079972/56

11 :
お題
(0,0)(0,999)(999,0)(999,999)のx,y 座標系の中の問題

次の20個の数値を先頭から2個ずつ取ってのx,y の位置に 10個のポイントがあるとする。

[136, 577, 110, 927, 472, 199, 157, 808, 388, 598, 94, 31, 388, 157, 325, 409, 787, 897, 850, 598]

(136,577) (110,927) 〜(850,598) 10ポイント

問題1 外側の正方形
全てのポイントが正方形の内側にあり、正方形の面積が一番小さくなる正方形の4点の座標を示せ。 但し正方形の座標は(999,999)の範囲内とする。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題2 内側の正方形
全てのポイントが正方形の外側にあり、正方形の面積が一番大きくなる4点の座標を示せ。
正方形は斜めもあり得る。 正方形の辺は必ず2点以上ポイントに重なっている。

問題を難しく感じる人は、斜めの正方形は考えないとしても良い。その旨回答に書いておいてください。

12 :
お題と回答
>>5 : >>6 >>10
>>9 :

13 :
宿題スレ行けって

14 :
>>12 おいおい、金儲けにするんかい。 ま、金を払う人がいるなら良いが。 学生の宿題に需要があるかな?
しかしこんなところで宣伝すんな。

15 :
>>9 https://ideone.com/4nfTNV

16 :
>>15 93 だけは正しいけど他は違うだろと思ったが、0を足しても結果は変わらないから詐欺に近いな。
しかしこう言う指摘は、プログラムには重要。

こう言う考え方をするなら、129 12342 なども該当するな。
あまりにも組み合わせが多すぎるから、条件をつけないとな。

問題の条件として各桁に0は含まないとしたり数字は2桁以内とするとか、答えは一番大きな数字を上から順に5つ示せとか。

17 :
出題するときには、答えが一意になる様にした方が良い。
回答する方も戸惑うし、正解が何かも判りづらくなる。

出来るだけ正解は少ない方が良い。 理想的には一つ。

18 :
>>14
>>12 のどこに宣伝の文言が記載されているのですか?

19 :
0 -> 1
1 -> 11
2 -> 101
3 -> 1111
4 -> 10001
5 -> 110011
6 -> 1010101
7 -> 11111111
8 -> 100000001
9 -> 1100000011
10 -> 10100000101
11 -> 111100001111
12 -> 1000100010001
13 -> 11001100110011
14 -> 101010101010101
15 -> 1111111111111111
この0から15までを隙間なく並べる
隙間なく並べるとは例えばこの0から2までなら
0 -> 1
1 -> 11
2 -> 101

---1
11
--101

11111
このように1同士がぶつからずにそして0がなくなるように並べる
この場合の解答は0番を3つ右にずらして2番を右に二つずらしているので
(0,3)(1,0)(2,2)となる

20 :
詐欺は酷くないか
要件は満たしてるし、何より解が存在する全ての値に対して正しい解を出力するだろ
sumnum 1についても対応しようとしたらこれが綺麗な解法の1つであることは疑いようもない事実のはず

21 :
>>20 と思ったが俺が間違ってた
相違なる数と言われてないから、sumnum 0に対しても[0,0,0,0,0]が解を満たすわな、すまんかった

22 :
お題と回答
>>5 : >>6 >>10
>>9 : >>15
>>11:
>>19:

23 :
>>18 リンク先に書いてあるじゃん、金払えと。
>>19 さっぱりわからん。 何のための説明をしてるの? どんな問題に関係してるの?

24 :
お題
ペアノの公理、及びペアノに依る加法の定義に従って 128 + 256 を計算せよ。

25 :
>>23
>リンク先に書いてあるじゃん、金払えと

根拠のないデマを流さないでください
>>12 に記載のアンカーの一つ >>10
>>10 に記載のアンカー(リンクの一つ) https://mevius.2ch.sc/test/read.cgi/tech/1434079972/56
https://mevius.2ch.sc/test/read.cgi/tech/1434079972/56 に記載のリンクは https://ideone.com/Nxx41h でこれは ideone へのリンク
リンクをたどれるところのどこにも宣伝は記載していません

>>10 に記載のアンカーの一部 https://mevius.2ch.sc/test/read.cgi/tech/1434079972/
のうち https://mevius.2ch.sc/test/read.cgi/tech/1434079972/1 には、ビットコインの請求が発生する手順が定義されており
その定義を満たさないものについては、特に「※本フローに従わない回答掲示についてはビットコインの請求は発生しないものとします。」と注記していますね

したがって、そもそも「金払え」とは書いてませんし、あるいは「ビットコインを払え」とすら書いていませんね

26 :
>>25 だったら何で金を要求するサイトへのリンクを貼るんだよ。 ビットコインを稼ぎたいための宣伝だろ?

下心がないのなら直接 ideon のリンクを貼れば良いじゃないか。 面倒臭いし。

27 :
>>26
自分の書いたコードを一箇所に固めているだけですよ
これわりと便利で、3年前のコードなんかすっかり忘れてしまっているのを呼び出せるのです、ああ、あのとき N クイーンやったよね、とか
自分のローカルは一つのディレクトリに放り込んでいるだけだから grep でも検索困難…

28 :
練習問題のコードなんて使い捨てでいいじゃない。 俺も最初の頃は記録してたけど、もうやめた。
要は必要なときに必要なコードが書けなければそれまでなんだから、最初から勉強し直しても同じ。
昔のコードを見ても自分が理解していないんだから同じ。

沢山練習した方が良い。 基本から見直す事でより理解が深くなる。

29 :
>>28
ええ、まったくの使い捨てでここ十年くらいやってますが、特定のスレに ideone/codepad のリンクを貼っていたのが、十年たってみると、当初は意図していなかった効用をもたらしてくれているんですね

30 :
>>23
自己愛性パーソナリティ障害の朝鮮人は相手にすんなよ

31 :
ネトウヨの相手もすんなよ

32 :
>>5 Squeak Smalltalk

'日 本' encodeForHTTP "=> '%E6%97%A5%20%E6%9C%AC' "

'%E6%97%A5%20%E6%9C%AC' unescapePercents "=> '日 本' "

33 :
>>32 但しURLエンコード専用ライブラリだけは使わない事。

34 :
>>9
Python3
https://ideone.com/v9wx2v

35 :
>>9
Haskell

import Data.Char

main = (print.sumnum) 12

sumnum 0 = [0]
sumnum n |n < 0 = error "Please n >= 0 number"
sumnum n = take 5 [x | x <- [0..], n == sum [read [a]| a <- show x]]

36 :
>>5
Java
https://paiza.io/projects/lPsVtvM3yO0cQEnRxg7fpQ

37 :
>>36
いいことを教えてもらいました、Java って uft-16 だけかとおもっていました…

38 :
>>33
組み込みメソッドの使用禁止とかばかげてる

39 :
https://mevius.2ch.sc/test/read.cgi/tech/1549160513/779
https://mevius.2ch.sc/test/read.cgi/tech/1434079972/57

40 :
出禁 ID:8BTe2vpb

41 :
正直言ってここに出てくるお題よりAtCoderのお題の方がレベル高いよね

42 :
11がマジで難しいんだけど、だれか取り組んでる?

43 :
>>41
小ネタの合間にめんどくさいものがポツポツあるかと >>11 とか

44 :
>>5
Kotlin
https://paiza.io/projects/DCRebTKGifCuLe5ysI1JIA

45 :
漏れなんて、書き捨てのRuby のファイルが、100もある

いつも、Windows10 で、WSL, Ubuntu16.04 から、grep してる

46 :
お、ツッコミ待ちか?

47 :
お題
Excelのカラム名でHELLOからWORLDまで表示する

48 :
>>11 問題1の斜めにしない直行正方形までは出た。

xの範囲= (94, 31) (850, 598) 差 756
yの範囲= (94, 31) (110, 927) 差 896
1辺= 896

直行正方形 (94, 31) (990, 31) (94, 927) (990, 927)
次はこれを傾けていくんだな。これがムズイ。

49 :
>>11 x,y座標は 0〜999までの整数 辺の長さは斜めになった時は整数とは限らない。

50 :
プログラミングのお題スレ Part13
https://mevius.2ch.sc/test/read.cgi/tech/1549160513/920-984

前スレのランク付けの問題は、O(n^2)とかなら簡単なんだが、
ハッシュなどを使って、計算回数を少なくするのに、苦戦してる

入力データ
-6 3 9 5 3 -7
出力・ランク
2 3 5 4 3 1

51 :
ハッシュを使ってんのがperlのじゃねえの

52 :
ランク付けならmap使うと楽、O(NlogN)が想定解

53 :
前スレの場合、みんなハッシュ(set)かソート使ってたじゃん

54 :
>>53 コンパクトなコーディングはみんなほぼ同じだったね。

python smalltalk java

なんかプログラミング言語を見直しはじめたよ。
複雑にせずに根本を見つめるコーディングが出来る言語というのは素晴らしい。

55 :
え、JAVA?

56 :
>>前スレ988 Perl5
https://mevius.2ch.sc/test/read.cgi/tech/1549160513/988

sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j, f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '+';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2+7
2002 => 2+7+11+13
216653 => 216653

57 :
setにぶちこんで重複削除、リストにしてソートしてマップの値の方にインデックス入れて最後にそのマップ使って出して完成

58 :
ゆっくり書いてたら間にたくさんの書き込みが入った。
俺のことは忘れてくれ。

59 :
>>56 スマソ、ケアレスミスった、繋ぐ演算子は+ => *だた…orz
sub p {
 $h = int $n/2;
 for ($i=2; $i<=$h; $i++) {
  $s[$i] = 1 unless exists $s[$i];
  do {$s[$i*$_] = 0 for 2..int $h/$i} if $s[$i];
 }
 @p = grep{$s[$_]} 2..$h;
}
sub f {
 my $i = shift;
 my $h = int $i/2;
 for $j (grep{$_ <= $h} @p) {
  return ($j,f($i/$j)) if 0 == $i % $j;
 }
 $i
}
for $n (qw{28 2002 216653}) {
 p;
 my %f; $f{$_}++ for f($n);
 @f = map{$_ . (1 < $f{$_} and "^$f{$_}")} sort{$a<=>$b} keys %f;
 $" = '*';
 print "$n => @f\n";
}

実行
~ $ perl 13_988.pl
28 => 2^2*7
2002 => 2*7*11*13
216653 => 216653

60 :
test

61 :
>>56
https://mevius.2ch.sc/test/read.cgi/tech/1434079972/58

62 :
お題と回答
>>5 : 6 10 32 36 44
>>9 : 15 34 35
>>11 : 48
>>19 :
>>50, https://mevius.2ch.sc/test/read.cgi/tech/1549160513/920 :
https://mevius.2ch.sc/test/read.cgi/tech/1549160513/988 : 59 61

63 :
あなたが解けない C/C++/Java/C#/JavaScript の問題を有償で片付けるスレッドです

64 :
有償で片付けるスレッドに貼り付けるのはよろしくないね
有償で片付けてほしくて出題してるわけじゃないでしょ
問題の窃盗だよ

65 :
>>59
Perlは配列に対するexistsやdefinedは呼び出せるが振る舞いは不明確で「強く」非推奨となっているので
この場合では問題なくとも@pはリストではなく代わりにハッシュ%pを使って実装するべきだった

66 :
>>65
ハッシュにしたほうが良いのは@pじゃなくて@sの方だったわ

67 :
>>64
バカチョンには何を言っても無駄だと思うよ
聞く耳持たない分からず屋の馬鹿だからバカチョンなんだから

68 :
>>64
>>27に理由が書かれていたが、一ヶ所に纏めておくと便利だなんてのは個人の都合であって、他の人にはわざわざ間接参照を強いることになるのだから、ほんとに身勝手な奴だと思う。

>>27
纏めておくのは他所で勝手にやれ、このスレにはコードだけを貼れよ。お前の手間なぞ知ったことではない。

69 :
ネトウヨもコテハンもうぜえわ

70 :
>>62 折角まとめるんなら、回答の方も >> でリンクを貼って欲しいな。

71 :
>>70
それは絶対にやらないんじゃね
奴は自分のことしか考えてないから
だから自己愛
永遠に人から煙たがられる存在

72 :
>>11 は、多角形の中のドットの内外判定問題と言うのが確立されてるみたいね。
色んな方法があるみたいだが、簡単なのは、
Crossing Number Algorithm
らしい、ググってみると結構コンパクトなコード。
他も見てみたが、問題は境界線上にある点は多角形外と判定する事。

だから、そのままのロジックに手を入れないとした場合、使う側としてどう解決したら良いんだろう。
直行正方形を1ドットずつ大きくしてから回転させる?

それとも、多角形の中の多角形問題の方が適してるのかな?

この問題は結構勉強になる。 問題のイメージを掴むために、図形表示までやり始めたよ。 表示するとより楽しくなる。

73 :
>>71 そこまで悪い人間では無さそうだけどな、おだてれば猿も木に登るタイプだとみた。
高い木に登ってもらおう。

74 :
ググラないで考えようとしていたけど、
ヒントを目にしてしまった気分
いやべつにいいけどさ

75 :
Q. クソ問題とは何ですか?
A. 問題の解釈を巡って議論や煽り合いが10レス以上続く、バカが投稿した不備のある問題のことです。

76 :
>>47 Ruby
("HELLO".."WORLD").each{|v| puts v}

77 :
>>62
前スレ920 >>4

78 :
>>72
https://dotup.org/uploda/dotup.org1853571.cpp.html

とりあえず図形表示。
一応内部の点は除去して、凸包を表示するような感じにしてる。
左クリックで頂点追加、右クリックで全削除、中クリックでリセット

操作しながらいろいろ検討してるけど、さっぱり思いつかない。

79 :
>>9 Ruby

def sumnum(n)
(0..4).map{|i| ("1"*n +"0"*i).to_i}
end

80 :
>>78  
Windows じゃないと動かないようだけど見やすいようにideonに張ってみた。
https://ideone.com/gJVREH

凸包と言うんだね。

2次元の凸包を求めるアルゴリズムと応用について
https://matsu7874.hatenablog.com/entry/2018/12/17/025713
凸包(convex hull)とは,与えられた点をすべて包含する最小の凸多角形(凸多面体)のこと.

--------
凸包が求められても難しいね。 凸包内の点を削除して計算時間を削減できる効果はあるかもしれないけど。

81 :
凸包が求められれば、頂点の並びも整列するので
形状を分割して余弦定理とかから導けないかなって思ったんだよね

82 :
>>47
画面の幅が足りなくて表示できません。

83 :
ちなみに、最小を求めるだけならある角度から見た凸包の一次元への投影と、直交する角度からの一次元への投影を180度回しながら調べれば出せると思うけど、分割の粒度の問題で、本当に最小が取れる保証はないね

84 :
>>76
試しに Perl でも 文字列 .. 文字列 をやってみたらできたよ。
こんなことできたとは。知らないまま20年以上使ってたよ。w

85 :
>前スレの920
頭を使った。Ruby で、

str = "-6 3 9 5 3 -7"

original_ary = str.split.map!( &:to_i ) # 各要素は整数型
hash = original_ary.each_with_object( { } ) { | num, h | h[ num ] = true }

sorted_ary = hash.sort # キーでソートする
#=> [[-7, true], [-6, true], [3, true], [5, true], [9, true]]

# Enumerator#with_index(offset = 0)
sorted_hash = sorted_ary.each.with_index( 1 ) { | elem, idx | elem[ 1 ] = idx }.to_h

# p sorted_ary
#=> [[-7, 1], [-6, 2], [3, 3], [5, 4], [9, 5]]

# p sorted_hash
#=> {-7=>1, -6=>2, 3=>3, 5=>4, 9=>5}

results = original_ary.map{ | num | sorted_hash[ num ] }
puts results.join( " " ) #=> 2 3 5 4 3 1

86 :
>>70-71
アンカーが多すぎると投稿できないのです、ただそれだけです

87 :
>>73
>おだてれば猿も木に登るタイプだとみた。
痛いところを突きますね…

88 :
>2 3 5 4 3 1

これが、
2 3 6 5 3 1

みたいに、4 が無くなる・飛ばされるランキングだと、もっとややこしい!w

89 :
前スレの920 Ruby



def f(a)
b={}
a .dup.sort.each{|v|b[v]=b.size+1 if not b.key v}
a.map{|v|b[v]}
end

p f([-6,3,9,5,3,-7])
[2, 3, 5, 4, 3, 1]

90 :
>>34
>>79

一休さんみたいなトンチの効いた回答で、それはそれで楽しめました。

改めて問題を書き直します。

各桁を足し合わせたら引数で与えられた数になる数の集合全体から小さい順に(可能なら=0対策)5個返す関数を作れ。

例:
sumnum 12
> [39,48,57,66,75] <- 3 + 9 = 12, 4 + 8 = 12, 5 + 7 = 12, 6 + 6 = 12, 7 + 5 = 12

91 :
>>34>>15の間違い

92 :
苗字で漢字の「口」を「くち」ではなく「ぐち」と読むのは
井口、矢口、田口の3つだけ
これマメな

93 :
>>92
川口
ハイ論破

94 :
ただの荒らし 、蒸し蒸し by 山口

95 :
>>90 OCaml
https://ideone.com/kvm79F

96 :
>>90
Haskell

import Data.Char要らんかった。
take 5も問題と違うけど外に追い出した方が応用効きそう。

main = (print.take 5.sumnum) 12

sumnum 0 = [0]
sumnum n |n < 0 = error "Please n >= 0 number"
sumnum n = [x | x <- [1..], n == sum [read [a]| a <- show x]]


>>95
OCamlで無限リスト処理どうすんだろと疑問だったので、後で精読させて頂きますm(_ _)m

97 :
>>92
谷口
関口
合口・相口・藍口・青口・赤口・秋口・明口… https://name.sijisuru.com/Fname/search?option=1&moji=%E5%8F%A3&pages=0&kanjilen=0&kanalen=0&romalen=0

98 :
>>97 もう相手にすんな。お題にするなら、

その9つの名前の読み仮名のあいうえお順に並べよ。

谷口・関口・合口・相口・藍口・青口・赤口・秋口・明口

読み仮名を持ってくるのが難しそうだけどな。

99 :
aを要素の型がIntである長さNの配列、k、cを型がIntである変数とする。
{P}a[a[k]]=c;{a[a[k]]!=c}
Hoare tripleが成立するためのなるべく弱いPを示せ

100 :
>>99
教えてください
P は何ですか?
{ } とは何を表しているのですか?

>{P}a[a[k]]=c;{a[a[k]]!=c}


100〜のスレッドの続きを読む
Javaはもう死んだの?
Windows 10 UWPアプリ開発 Part 2
くだすれFORTRAN(超初心者用)その6
フリーソフトなどに使われる言語は?
推薦図書/必読書のためのスレッド 81
C++相談室 part144
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
■暗号技術【ROUNDsurea】■
Java Web Application Framework総合 ver2
シェルスクリプト総合 その30
--------------------
【頑固なコケ】 苔対策研究室15【嫌い】
【名駅】名古屋について語るだがや【栄】★part22
大塚あやこのスレッド
LGBTサイトがLGBTPZNを取り上げツイフェミ界で炎上「ロリコンも獣姦もネクロも内心だけで犯罪者予備軍だから徹底的に差別しろ」 [377482965]
【日韓】 「当然?」「非礼?」  G20「日韓首脳会談拒否」への韓国側の反応は? [06/30]
ロリコンテストするよ
【グレた】「グレタ人形」ローマの橋につるされる 脅迫容疑で捜査開始
【東宝】日本誕生を語りませうpart3【1000作目】
【米韓】 米国最大の製薬団体、韓国への“最高レベルの貿易制裁”を要請 [03/01]
【初代】ダイアクロン・第26次アタック計画【リブート】
【マサ伊藤】Bayfm Power Rock Today プログレコーナー
【RPGの】アイテム・ザコ敵・村人の会話【雑品データ】
東南アジア
吉岡里帆ちゃん応援スレ
悟りとは
法人向けタブレット市場でも負けるWindows
CR牙狼 GOLD STORM翔 Part40
【ヤフモバ】ラグナブレイク・サーガ part111
貧乏人の社会人社害人集まれ
【全板集合】2chにある無駄な知識を集めるスレ301
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼