プログラミングのお題スレ 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/
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文字列を出力せよ。
294デフォルトの名無しさん
垢版 |
2023/01/06(金) 05:08:07.01ID:M8Yj8K4Q
>>293
Kotlin script

println(java.util.UUID.randomUUID())
295デフォルトの名無しさん
垢版 |
2023/01/06(金) 05:17:11.97ID:M8Yj8K4Q
>>293
bash

uuidgen

正にそのままの名前のコマンドがあるのでそれを実行するだけ。
2023/01/06(金) 13:50:28.95ID:comZLRpx
お題: 「お金」を回転させよ。
2023/01/06(金) 17:43:57.43ID:XVNiIKyd
お題:「蟻人間」を削除せよ。
2023/01/06(金) 18:20:34.96ID:faoYgN4s
>>296
C++/Win32
https://ideone.com/WjFMbj

>>297
C++
#include <cstdio>
int main(void)
{
std::remove("蟻人間");
return 0;
}
2023/01/06(金) 23:37:06.38ID:fhx1KoPh
お題:
キーと値のリストがあります。
そのうちキーが0のものを除いてグループ化した結果を出力せよ。
ただし0のものについてもそれぞれの値をリストとすること。

[[0, "a"], [0, "b"], [0, "c"], [1, "d"], [2, "e"], [2, "f"], [3, "g"]]
→ [[0, ["a"]], [0, ["b"]], [0, ["c"]], [1, ["d"]], [2, ["e", "f"]], [3, ["g"]]]
300デフォルトの名無しさん
垢版 |
2023/01/08(日) 23:11:39.41ID:H/llE4PY
お題
数列が入力されます
最も大きな値をHighestに変換してください
最も小さな値をLowestに変換してください
最も大きくもなく最も小さくもない値をMiddleに変換してください


7
5.1
4.8
5.5
6.3
5.8
6.1
5.8
4.7
5.6
7.1

Middle
Middle
Middle
Middle
Middle
Middle
Middle
Middle
Lowest
Middle
Highest
301デフォルトの名無しさん
垢版 |
2023/01/08(日) 23:19:00.38ID:H/llE4PY
お題
数列が入力されます
連続する3つの数字(A, B, C)のうち
A <= B <= C
この条件を満たす(A, B, C)を出力してください


9.1
8.1
8.8
12.1
10.4
10.3
10.1
8.5
11.5
10.6

(8.1, 8.8, 12.1)
302デフォルトの名無しさん
垢版 |
2023/01/08(日) 23:59:01.77ID:H/llE4PY
>>299
Java
https://paiza.io/projects/9n5DS2q8jrFM5ZF7SQEJzA
303デフォルトの名無しさん
垢版 |
2023/01/10(火) 01:54:23.75ID:BgZKYyvJ
>>299
Kotlin

ライブラリ使ってグループ分けしてから0のやつだけ一つづつに作り直しているのでやってることは >>302 のJavaのやつとほぼ同じだと思う。
入出力に凝った所が違うがそこは肝心な所ではない。

https://paiza.io/projects/XKaj8JlMZrlxh3J0bveRlg
304デフォルトの名無しさん
垢版 |
2023/01/10(火) 02:09:52.84ID:BgZKYyvJ
>>300
Kotlin

ほとんど何も考えず min(), max() 使っただけ。

https://paiza.io/projects/n5yP4U4wM5YAQgLr54582Q
305デフォルトの名無しさん
垢版 |
2023/01/10(火) 02:24:54.71ID:BgZKYyvJ
>>301
Kotlin

https://paiza.io/projects/3TZOS2qweI2IAXFR0eXAAA
2023/01/10(火) 23:39:37.16ID:PQFcH8F6
お題: グラフ理論において、あるグラフGの頂点が頂点番号の集合として、Gの辺が頂点番号の順序対の集合として与えられる。ケーニヒスベルクの橋の問題を解け。
307デフォルトの名無しさん
垢版 |
2023/01/11(水) 10:43:19.48ID:8ImpuJOv
よくわかんないなあ
調べるの面倒臭いなあ
俺はパスする
308デフォルトの名無しさん
垢版 |
2023/01/11(水) 13:41:08.95ID:6xJiw1N1
int v[] = {1, 2, 3, 4, 5, 6, 7};
int p[][2] = {{1, 2}, {2, 3}, {1, 4}, {4, 5}, {2, 6}, {4, 6}, {3, 7}, {5, 7}, {6, 7}};
あとはまかせた
2023/01/11(水) 16:39:17.08ID:GAGx1xu5
 1/11 向け問題

[お題] 1位 + 11位 + 111位 + ...

整数 F, T が与えられる。F以上 T以下の異なる素数を 11個 選び和をとる。
全通りは、NCR(素数の個数, 11) 種類ある。

全通りを, 以下の優先順位で並べ、一意の順位をつけたと考える。
・優先1 和が多い順
・優先2 選んだ11素数を昇順に並べた辞書順

順位の数字が'1'のみであらわせる順位の和を合計し、出力する。
(1位, 11位, 111位, 1111位, ...と存在する順位まで)

制約) 0< F < T <= 4000 かつ T - F <= 1400
参考) この制約下で素数の最大個数は222個。最大順位は64bit整数におさまる

1) 2 39 --> 361
 素数は12個あり、12C11で12通りある、1位は195で11位は166 合計して361
2) 123 231 --> 12600
 素数20個 20C11 = 167960, [1位,11位, ... , 111111位] と6個分の和を加算
3) 1111 2222 --> ?
4) 2 1402 --> 243741
5) 2600 4000 --> ?
2023/01/11(水) 16:59:19.37ID:LrbNabxf
なんか趣旨が理解出来なくてすべってる人が多いのな
プログラミングの観点から何か興味を引くようなお題じゃないとこの板じゃ反応ないと思うよ
2023/01/11(水) 17:49:08.53ID:lx9Ag9Yr
>>306
頂点番号の対だけで情報足りてるじゃん
2023/01/11(水) 17:52:38.47ID:lx9Ag9Yr
>>309
問題が無駄に複雑
シンプルにしようよ
313デフォルトの名無しさん
垢版 |
2023/01/11(水) 19:20:10.27ID:rEwL+Sf1
>>311
は?
2023/01/11(水) 20:03:43.15ID:2InRpmeN
一筆書き可能の判定法の有向グラフ版ってこと?
すべての頂点について、そこに向かう辺とそこから出る辺が共に偶数であるかどうかと同値かな
2023/01/11(水) 20:08:58.20ID:2InRpmeN
>>311
情報与えるんじゃなくて定義の話じゃね
2023/01/11(水) 20:09:36.17ID:2InRpmeN
前半は
2023/01/11(水) 20:10:29.64ID:2InRpmeN
まぁ定義も情報か
2023/01/11(水) 20:27:59.86ID:Ew0xxktJ
>>313
与えられる情報が冗長だって言ってるわけだけど
そんなに難しい事を言ったつもりはなかった

>>308でいうとvは不要、pだけで良い

>>314
無向グラフと思う
連結性も必要
2023/01/11(水) 20:31:06.96ID:Ew0xxktJ
蟻の出題はただの思いつきでまともなお題になってないから時間をかける価値は無い
2023/01/11(水) 20:32:04.74ID:2InRpmeN
>>308はそいつが勝手に入力扱いしただけやろ。
2023/01/11(水) 20:33:14.80ID:2InRpmeN
無効でも順序対である必要あるん?
2023/01/11(水) 20:37:29.73ID:Yn2pvCxf
ケーニヒスベルクの橋の問題だから無向と思ったが
確かに順序対と書いてある

真意は蟻しかわからない
2023/01/11(水) 20:38:27.83ID:Yn2pvCxf
いずれにしろ>>314ではダメ
2023/01/11(水) 20:39:54.20ID:2InRpmeN
何でダメなん?
2023/01/11(水) 20:40:33.42ID:2InRpmeN
ダメだね
2023/01/11(水) 20:41:43.31ID:2InRpmeN
いや、これは偶数じゃないか
グルグル回るだけのものは奇数で成り立つな
2023/01/11(水) 20:42:38.38ID:2InRpmeN
入と出が同数、ならどうだろう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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