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

■ このスレッドは過去ログ倉庫に格納されています
2022/11/13(日) 19:00:36.84ID:ZCYlhUwL
プログラミングのお題スレです。

【出題と回答例】
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/

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

※前スレ
プログラミングのお題スレ Part20
https://mevius.5ch.net/test/read.cgi/tech/1624028577/
2022/11/21(月) 00:52:37.60ID:ucxm7Spr
>>193
もう読み返してみるのもアホらしいから読み返さないけど数学の勉強多少なりともした人間が自分が使った用語のどれか数学の世界でなんの説明もしないでいいかわからない時点でもうダメダメなんだよ
2022/11/21(月) 00:56:14.01ID:ucxm7Spr
>>193
ちなみに別に煽って証明書かせようとしてるわけでもないよ
証明できました系トンデモ君なんか数学板にはアホほどいる
高木、日高、セタ
みんな反応同じ
お前も一緒
2022/11/21(月) 01:14:55.48ID:KDDXOYAA
結局具体的指摘はできずにダメダメ言うだけの人でしたw
2022/11/21(月) 01:15:51.20ID:3oP21bP+
>>196
高木そっくり
数学系トンデモ君は全部反応一緒
2022/11/21(月) 01:33:23.43ID:KDDXOYAA
はいはいw
2022/11/21(月) 01:44:40.12ID:3oP21bP+
>>198
これもまぁ一緒
自分の数学力は相手には及ばないのがなんとなくわかった時の反応やな
2022/11/21(月) 01:47:11.47ID:EfM99hS7
簡潔明瞭なレス書かないで、ダラダラ雑談してる人は
プログラムや証明も似たようなもんだろう
2022/11/21(月) 01:58:04.34ID:KDDXOYAA
× 簡潔明瞭なレス書かないで
〇 簡潔明瞭なレス書けないので
典型例 ⇒ >>185
2022/11/21(月) 06:55:55.90ID:ak7EpJOk
うちの研究室にもキチガイおじさんから未解決問題といたぞ!!とかいう長文封書が数年に一回来るわw
それを思い出したw
2022/11/21(月) 07:22:29.95ID:wLhd6Pjl
>>199
こういうレスはさすがに恥ずかしい
2022/11/21(月) 10:12:20.62ID:Hn1skre5
仮にあってたとしても証明が伝わらない、理解されないなら
インドの魔術師ラマヌジャンみたいなもの
2022/11/21(月) 10:53:00.16ID:KDDXOYAA
”真に驚くべき証明を見つけたが、それを書くには余白が狭すぎる...”
2022/11/21(月) 21:25:40.26ID:n1Au4Wog
>>205
私は、本当に「驚くべき証明」が今でも未発掘であると妄想しているのです…ハノン
2022/11/21(月) 22:51:28.14ID:vZPRDM15
ラマヌジャンでもフェルマーでもない
普通の人が1週間で考えたアルゴリズム
アルゴリズムの理解は難しくないし
理解すれば最小性の証明も簡単に思い付く
特別な事は何もない

自力でいろいろな問題を解けば
必然的にアルゴリズムが思い浮かぶ
っていうくらいの感覚
208デフォルトの名無しさん
垢版 |
2022/11/23(水) 14:01:36.50ID:7Qp+m7RP
お題:フィボナッチ数列を書く

C言語で書いたサンプル:https://paiza.io/projects/BkvRBXfPsh8TgNDWG1argQ
2022/11/23(水) 16:05:13.46ID:U6TEG1mT
正六角形の各頂点に椅子がある
各椅子に P, Q, R, S, T, U と順不同でラベルを付けるとき
P と Q が向かい合わない組み合わせは何通りあるか
ラベルの重複は無し
210デフォルトの名無しさん
垢版 |
2022/11/23(水) 16:42:40.78ID:gB3NJ+gJ
>>208
Java
https://paiza.io/projects/2Xaqh3-kdXb3sa60605v_Q
211デフォルトの名無しさん
垢版 |
2022/11/23(水) 16:44:46.69ID:gB3NJ+gJ
>>8
Java
static boolean odd(int n) {
 return n % 2 == 1;
}
2022/11/23(水) 19:37:49.36ID:OkrKt+ei
>>208
Haskell
https://ideone.com/ciCXSG

fibs = 0 : 1 : zipWith ( + ) fibs ( tail fibs )
main = print $ take 100 $ fibs
2022/11/23(水) 19:56:22.68ID:OkrKt+ei
>>209
Haskell
https://ideone.com/7mv08x

import Data.List
import Data.Maybe

xs = [ x | x <- permutations [ 'P' .. 'U' ],
let i e es = fromJust $ elemIndex e es ,
mod ( ( i 'P' x ) - ( i 'Q' x ) ) 6 == 3 ]

main = print $ length xs
2022/11/23(水) 23:31:10.31ID:q2LNEKVG
>>209
何を区別するとかしないとか書かないと
数学やプログラミング以外の範疇でもめることになる
2022/11/24(木) 10:58:50.49ID:+WLoo/sn
>>209
4 * 4! = 96
216デフォルトの名無しさん
垢版 |
2022/11/24(木) 11:38:21.44ID:5MNsXfkj
ユークリッド平面上の六角形ですか?
そうでなければ向かい合う組み合わせがひとつもないかもしれない
2022/11/24(木) 18:43:02.54ID:OYbHbN8A
>>209
6 * 4 * 4! = 576
2022/11/24(木) 18:48:51.57ID:m+x+kPsJ
>>209
6! - 6*4! = 576
219デフォルトの名無しさん
垢版 |
2022/11/25(金) 09:08:55.49ID:PV2ZG9bu
>>214
ほんそれ
2022/11/25(金) 15:55:15.09ID:f221QBdQ
カカロット予想みたいな名に懸賞金がでてた記憶
2022/11/25(金) 17:46:32.10ID:pYHT3oH4
お題:アラレちゃんに出てくるウンコみたいなASCIIアートを数値処理で描画せよ
手段は問わない
2022/11/25(金) 18:34:08.82ID:VOfQDcty
お題:C言語のfrexp()に相当する処理を、基数が10の場合について実装する。
(入力x>0を、
1≦y<10、nを整数として、
y*10^nに変換する。)

回答者の主観で、「素朴」と思われるやり方と、「技巧的」と思われるやり方の2つを実装し、
どこら辺が素朴/技巧的なのかを付記する事。
2022/11/25(金) 20:10:20.65ID:UZlFL5FW
logを使うのと
10^2^nのテーブルを使うの
2022/11/25(金) 20:36:02.09ID:UZlFL5FW
普通の倍精度程度の範囲なら
10^n そのまま持つのもあり
工夫しなくても精度が保てる
225デフォルトの名無しさん
垢版 |
2022/11/26(土) 01:05:17.47ID:ECY3ydQd
>>222
Perl

ワンライナー。bashから実行。
自分では文字列変換しかしてなくて肝心な所は sprintf の %e にお任せ。
これは素朴なのか技巧的なのか分からない。手抜きであるとは言えるかも知れないが。

$ perl -ne '$s=sprintf("%e", $_); $s=~s/e([\+\-])?0*(\d+)/"*10^".($1eq"-"?"-":"").$2/e; print "$s\n"'
12345
1.234500*10^4
0.000000567
5.670000*10^-7
100000000000000000000
1.000000*10^20
2022/11/26(土) 01:11:23.77ID:ECY3ydQd
sprintf() で %e で元の文字列を作る形式で良いならばCやJava(及びJavaと同じライブラリを使っているKotlin等)でも似たような書き方が可能。
e±NNN の部分の文字列変換を分かり易く書けるかどうかぐらいの違いしかない。
227デフォルトの名無しさん
垢版 |
2022/11/26(土) 10:20:35.91ID:B3T+QFuS
>>221
http://www.urban.ne.jp/home/kanemori/dotnet/img2xpm
2022/11/30(水) 00:24:31.16ID:dHf1VAwB
>>221
Kotlin script

println(String(Character.toChars(0x1f4a9)))
229デフォルトの名無しさん
垢版 |
2022/11/30(水) 01:40:57.50ID:dHf1VAwB
>>221
Kotlin

もうちょっとましなもん作った。

https://paiza.io/projects/QGFBfG1YVDPsQZC-sza37w
230デフォルトの名無しさん
垢版 |
2022/12/05(月) 14:44:28.58ID:Q41LHkn2
お題
ループを使って次の文字列を出力してください

ABCDEDCBA
ABCD DCBA
ABC CBA
AB BA
A A
2022/12/05(月) 14:46:16.49ID:oclBynCf
ループとは?
2022/12/05(月) 18:00:20.95ID:mCZbwtsD
>>230
拙いですが、一応できました。

s = "ABCDE"
l = len(s)
for i in range(l-1, -1, -1):
____if i == l-1:
________print(s[:4]+s[::-1])
____else:
________print(s[:i+1] + " " + s[i::-1])
2022/12/05(月) 19:01:19.27ID:oyhsvFWd
>>230 Ruby

puts s = "ABCDEDCBA"
puts s while s.sub!(/E|. ./, ' ')

# =>
ABCD DCBA
ABC CBA
AB BA
A A
2022/12/05(月) 19:02:17.14ID:oyhsvFWd
>>233
出力コピペミス

# =>
ABCDEDCBA
ABCD DCBA
ABC CBA
AB BA
A A
2022/12/07(水) 00:01:38.47ID:bF0Kfo20
const char* str[] = {
"ABCDEDCBA\n",
"ABCD DCBA\n",
"ABC CBA\n",
"AB BA\n",
"A A\n"
};
for (auto s : str) printf(s);
2022/12/07(水) 01:22:11.45ID:7vTXTAwc
>>230
ChatGPTにお願いしたら↓のコードができた

for i in range(4):
print("A" * (4 - i) + "B" * (2 * i + 1) + "A" * (4 - i))

結果は間違ってた(笑
237232
垢版 |
2022/12/07(水) 16:37:03.59ID:BNJtA5pF
>>235
こんなシンプルなことでよかったとは…
2022/12/07(水) 18:37:00.40ID:qXWVWSpq
「ループとは?」
って聞いたのに答えないから
239デフォルトの名無しさん
垢版 |
2022/12/07(水) 19:32:50.85ID:s/nrPmn+
アスペごっこに付き合ってる暇はないの
240デフォルトの名無しさん
垢版 |
2022/12/08(木) 01:41:39.70ID:KF4XFHeJ
>>230
Kotlin
https://paiza.io/projects/09vnaSKe80T-An55WxwuQA

こんなので良いのか?
2022/12/12(月) 11:52:56.49ID:qdPeVaaE
説明不足のアスペとんちゲーが好きな人もいるので
2022/12/12(月) 12:05:39.45ID:gVHqb1BB
出題者の心を読むスレじゃないんだから
出題者は紛れを減らす努力をしろ
243デフォルトの名無しさん
垢版 |
2022/12/12(月) 22:41:32.20ID:bhcjN5ma
アスペごっこに付き合ってる暇はないので
2022/12/12(月) 23:26:30.74ID:oeW82PXj
まともに出題文を書けないアホは出題禁止
245デフォルトの名無しさん
垢版 |
2022/12/12(月) 23:31:34.31ID:bhcjN5ma
繰り返しってなに??!これでもいいいのぉ??!!!



アスペごっこに付き合ってる暇はないので
246デフォルトの名無しさん
垢版 |
2022/12/13(火) 02:37:48.51ID:o0RtwZg0
>>239,243,245
なるほどこれが繰り返しか!

…暇そうだねwww
2022/12/13(火) 03:31:50.55ID:LNDs19G9
お題:リンクの値を解決するsolve_path関数を作れ
第1引数にはブラウザのアドレスバーの今現在のURLが渡される
第2引数にはリンクの値(aタグのhref値)が渡される
返り値は解決したパス(文字列)とする
解決したパスはURLとして機能するように整形すること
つまり「http://xxxx.xxx/yyy/zzz」のようなURLにすること
絶対パス、相対パス、URLの直接指定に対応できるように作ること
2022/12/13(火) 06:31:19.82ID:RVT68Vp1
>>247
>>244
249デフォルトの名無しさん
垢版 |
2022/12/13(火) 09:14:58.09ID:NyTgee9l
>>248
アスペごっこに付き合ってる暇はないので。
250デフォルトの名無しさん
垢版 |
2022/12/14(水) 03:35:53.49ID:SCwOJhsV
>>247
https://developer.mozilla.org/ja/docs/Web/API/URL/URL
2022/12/14(水) 18:00:30.95ID:StYEEYQ5
>>250
日本語も読めないでググってんのか?URL貼れなんて言ってないだろ、ごみ野郎
2022/12/14(水) 18:58:37.46ID:Y6rgBuPW
アホは出題するな
2022/12/14(水) 19:40:15.63ID:vTcjU98f
いや、>>251>>247じゃないぞ
2022/12/14(水) 19:41:59.18ID:Y6rgBuPW
それは失礼
2022/12/14(水) 21:24:56.35ID:gavZHO0P
真面目にやろうとすればRFC参照してクソデカregexp作るだけだから誰もやる気にならないわな
256デフォルトの名無しさん
垢版 |
2022/12/14(水) 23:40:11.41ID:7jUV+yGa
やりたくなきゃやらないで黙ってれば良いのに。
2022/12/14(水) 23:51:20.49ID:MH9vv9Il
>>252
258デフォルトの名無しさん
垢版 |
2022/12/15(木) 00:14:05.10ID:X6sYk5yb
アルゴリズムのお題ばっかでつまらんからこういうのも好き
2022/12/15(木) 01:05:04.79ID:nl5DhriG
お題: トマトの分類。

一個のトマトが画像フレームいっぱいに撮影された画像ファイルが入力として与えられる。画像全体の平均色を求め、それが赤っぽいならYesを、赤っぽくなければNoを出力せよ。
2022/12/15(木) 01:13:04.05ID:YuqRQs18
赤っぽいの定義は?
2022/12/15(木) 01:21:36.94ID:nl5DhriG
>>260
> 赤っぽいの定義は?

赤RGB(255, 0, 0)に近く、出荷に適したトマトの色とする。
262デフォルトの名無しさん
垢版 |
2022/12/15(木) 01:26:05.58ID:47Ejv2xg
sum=[0,0,0]
for(i=0;i<data.length;i++)
for(j=0;j<data[i].length;j++)
for(k=0;k<3;k++)
sum[k]+=data[i][j][k]

for(k=0;k<3;k++)
sum[k]/=data.length*data[0].length

rgb2hsv(sum).H
2022/12/15(木) 01:53:25.08ID:nl5DhriG
適正なトマトの色の範囲は、おそらくRGBやHSVなどの色空間上の範囲として表現するのが適切かも知れない。

それから全ピクセルの平均を求めるのは時間の掛かる処理に思える。
264デフォルトの名無しさん
垢版 |
2022/12/15(木) 01:56:34.74ID:7eXwHgCG
で赤っぽいの定義は?
2022/12/15(木) 01:59:58.02ID:NC87g1Wm
これはっ緑健の完熟トマト…
2022/12/15(木) 02:04:32.67ID:nl5DhriG
赤っぽいトマトの定義。

HSV色空間において、Hが-45度~+45度の範囲で、かつSが70%以上、かつVが50%以上(テキトーに決めてます)。しらんけど。
2022/12/15(木) 02:14:50.86ID:nl5DhriG
画像の解像度はVGA。
処理は0.5秒以内。
2022/12/15(木) 08:07:47.54ID:YuqRQs18
>>261
>>266
アホは出題するな
2022/12/15(木) 10:06:23.94ID:D8+s3udF
おいおい、そうじゃないだろ
アホな出題者を優良な出題者に育てる
それもお前らの仕事だぞ
2022/12/15(木) 12:37:06.80ID:uzoxWFqF
>>269
お前にまかせた
2022/12/15(木) 15:00:21.08ID:wgTVfCwy
>>268
どこがアホなのか指摘して下さいね。
2022/12/15(木) 16:38:57.45ID:ylmQ78W0
処理時間とかいうなら動作環境と画像のフォーマットくらい示しとけよアホ
2022/12/15(木) 17:37:06.49ID:uzoxWFqF
>>271
仕様を書けないところ
2022/12/15(木) 17:39:04.49ID:uzoxWFqF
仕様作成のお題じゃなくて
プログラミングのお題なんだから
仕様はちゃんと紛れが無いように書いて
回答も用意しておけ
275デフォルトの名無しさん
垢版 |
2022/12/15(木) 22:12:02.63ID:47Ejv2xg
どうせ仕様書いたところでやらないんだろうな
文句言いたいだけ
黙ってれば良いのに
2022/12/15(木) 22:31:31.40ID:XntkKj9A
でも明らかに誰もやらない問題だろうなってのはあるじゃん
2022/12/16(金) 00:39:45.94ID:jyj3FCsV
if文使うお題は人気ないよな
278デフォルトの名無しさん
垢版 |
2022/12/18(日) 01:20:58.32ID:JbTYiIQv
>>247
Kotlin script

import java.net.*

println(java.net.URL(java.net.URL(args[0]), args[1]))
279デフォルトの名無しさん
垢版 |
2022/12/18(日) 01:22:33.33ID:JbTYiIQv
あ、ごめん。最初の import 要らない。
2022/12/25(日) 18:38:10.18ID:X2xjup2e
お題: 在庫管理。

最初は在庫ゼロ。
何個か在庫変動の内容が一行ごとに入力される。
「商品「A」が3個入荷しました」
「商品「A」を2個消費しました」
「商品「B」を5個入荷しました」
。。。

最後に在庫状況を報告する。
「商品「A」が1個、商品「B」が5個あります」

在庫変動は、入荷か消費のどちらか。
商品名は任意の文字列。
2022/12/25(日) 19:01:23.15ID:X2xjup2e
お題: 感染者数の集計。

FAXで日本語の表として感染者のリストが某所から大量に送信されてくる。
それをOCRで読み取り、エクセルファイルにした後でPDFに変換した後、集計して印刷してFAXで報道機関に送信するプログラム。
2022/12/31(土) 11:24:19.30ID:zpGLZKZe
#include <stdio.h>

int main(void)
{
int a, b, c;
int x, y, z;
printf("a = %zu\n",sizeof(unsigned short));
printf("b = %zu\n",sizeof(unsigned int));
printf("c = %zu\n",sizeof(unsigned long));

printf("x = %zu\n",sizeof(short));
printf("y = %zu\n",sizeof(int));
printf("z = %zu\n",sizeof(long));
if (a == x)
printf("等しい\n");
else
printf("等しくない\n");
if (b == y)
printf("等しい\n");
else
printf("等しくない\n");
if (c == z)
printf("等しい\n");
else
printf("等しくない\n");

return 0;
}

上記プログラムで実行結果がすべて「等しくない」で出力されるんですが、なぜなのかわかりません。等価演算子の使い方が間違っているのでしょうか?
2022/12/31(土) 11:45:03.82ID:Xd9+Lz33
なんでだろ~
2022/12/31(土) 12:31:19.53ID:zpGLZKZe
282ですけど、原因がわかりました。直接sizeを比較してないからでした。

if (sizeof(unsigned short int) == sizeof(short))

とすれば比較になります。
2023/01/01(日) 04:14:40.02ID:k0DSm/Wv
>>282
a, b, c, x, y, z に何も代入しておらず全て不定値のままで比較をおこなっているため。
つまり「等しくない」0しか出力されなかった理由は偶然。たまたま自動変数がそのような結果になる値になっていただけ。
2023/01/01(日) 07:54:11.35ID:3UYI3pmj
実行環境で、warning=警告 だらけになりますよね
初学者は、先ずそこを気にしないといけません
2023/01/02(月) 23:05:26.01ID:QgUCruY4
昔、ircで外人が質問してきた
c言語のエラーが取れないと
コンパイル結果を見たらwarningだらけだった
俺は「warningを取れ」と言ってやった
そいつは「それは大した問題じゃない」と言ってきた
2023/01/03(火) 08:20:25.77ID:NMKmf8kd
>>261
赤っぽいの定義=赤RGB(255, 0, 0)に近く、出荷に適したトマトの色 っておい!
2023/01/03(火) 09:39:10.10ID:UBjvnfn5
バカは出題禁止にしたいけど
バカは自分がバカな事がわからないんだよな
2023/01/04(水) 02:17:42.12ID:Ur39ORao
ChatGPT
Q: 出荷に適したトマトの色をRGB値で教えて
A: トマトの色は、その種類や栽培方法、成熟度によって異なります。一般的に、完全に成熟したトマトは、赤い色をしています。ですから、RGB値としては、赤(R)が255、緑(G)が0、青(B)が0になると思われます。ただし、それは概略的な指針であり、実際の色は、異なる品種や栽培条件によって異なるかもしれません。

255,0,0が出荷に適したトマトだそうだぞ
2023/01/04(水) 14:26:13.02ID:n+FvG6ug
具体的な仕様がない案件をやってみるのもプログラミングの冒険だと思うが。

緑がかったジャガイモ、芽の出たジャガイモを取り除くとか、不発のポップコーンを取り除くとか。
2023/01/04(水) 14:31:53.59ID:fkh/W6sK
仕様を考えるお題は他のスレでやって
2023/01/04(水) 19:28:40.37ID:n+FvG6ug
お題: UUID文字列を出力せよ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況