プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part21
https://mevius.5ch.net/test/read.cgi/tech/1668333636/
探検
プログラミングのお題スレ Part22
1デフォルトの名無しさん
2023/08/03(木) 13:52:13.20ID:/xW45k0z2デフォルトの名無しさん
2023/08/03(木) 14:04:23.10ID:Lr04Zjag >>1
O2
O2
3デフォルトの名無しさん
2023/08/06(日) 12:21:14.08ID:/9zIb/V0 お題
1行につき一つの文章が入力されます
アルファベット26文字がすべて含まれている文章をフィルタリングしてください
大文字小文字は区別しません
そのうちもっとも短い文章を出力してください
入力
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
出力
Jackdaws love my big sphinx of quartz.
1行につき一つの文章が入力されます
アルファベット26文字がすべて含まれている文章をフィルタリングしてください
大文字小文字は区別しません
そのうちもっとも短い文章を出力してください
入力
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
出力
Jackdaws love my big sphinx of quartz.
4デフォルトの名無しさん
2023/08/06(日) 17:47:37.64ID:RhhSFLLO5デフォルトの名無しさん
2023/08/06(日) 18:08:09.04ID:RhhSFLLO2023/08/06(日) 19:07:03.27ID:Md+pNxjw
use std::io::{self, BufRead, BufReader};
const FULL_BITS: u32 = (1 << 26) - 1;
fn main() {
let mut shortest: Option<String> = None;
for line in BufReader::new(io::stdin()).lines() {
let line = line.unwrap();
let mut bits = 0;
for b in line.as_bytes() {
let index = match b {
b'A'..=b'Z' => b - b'A',
b'a'..=b'z' => b - b'a',
_ => continue,
};
bits |= 1 << index;
}
if bits != FULL_BITS {
continue;
}
if let Some(ref shortest) = shortest {
if shortest.len() < line.len() {
continue;
}
}
shortest = Some(line);
}
if let Some(shortest) = shortest {
println!("{shortest}");
} else {
eprintln!("ERROR: no matched lines");
}
}
const FULL_BITS: u32 = (1 << 26) - 1;
fn main() {
let mut shortest: Option<String> = None;
for line in BufReader::new(io::stdin()).lines() {
let line = line.unwrap();
let mut bits = 0;
for b in line.as_bytes() {
let index = match b {
b'A'..=b'Z' => b - b'A',
b'a'..=b'z' => b - b'a',
_ => continue,
};
bits |= 1 << index;
}
if bits != FULL_BITS {
continue;
}
if let Some(ref shortest) = shortest {
if shortest.len() < line.len() {
continue;
}
}
shortest = Some(line);
}
if let Some(shortest) = shortest {
println!("{shortest}");
} else {
eprintln!("ERROR: no matched lines");
}
}
7デフォルトの名無しさん
2023/08/06(日) 20:04:54.35ID:pJXl8PQk8デフォルトの名無しさん
2023/08/07(月) 01:25:47.55ID:dolrRGoi >>6
それなんて言語?
それなんて言語?
99
2023/08/07(月) 01:46:18.23ID:PMO8D1QO >>3 Perl5
for (<DATA>) {
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
push @a, $_ if 26 == keys %h;
}
@s = sort{length($a) <=> length($b)} @a;
print $s[0];
__DATA__
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
※ 見易くするためインデントを全角スペースに置換してあります。
実行結果:
$ perl 22_3_az26.pl
Jackdaws love my big sphinx of quartz.
for (<DATA>) {
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
push @a, $_ if 26 == keys %h;
}
@s = sort{length($a) <=> length($b)} @a;
print $s[0];
__DATA__
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.
※ 見易くするためインデントを全角スペースに置換してあります。
実行結果:
$ perl 22_3_az26.pl
Jackdaws love my big sphinx of quartz.
2023/08/07(月) 01:57:03.56ID:PMO8D1QO
>>9 ゴメン、2行目に間違いあり…orz
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
↓正しくは
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
実行結果は今回のテストデータだとたまたま同じ結果になる。
my %h = map{$_ => 1} grep{/[a-z]/i} split '';
↓正しくは
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
実行結果は今回のテストデータだとたまたま同じ結果になる。
2023/08/07(月) 09:39:33.60ID:3KYy8N/l
>>8
Rustでは?
Rustでは?
12デフォルトの名無しさん
2023/08/07(月) 19:28:19.42ID:dolrRGoi2023/08/07(月) 20:51:54.50ID:ZWV0+Q1Z
14デフォルトの名無しさん
2023/08/08(火) 16:30:48.37ID:mHXT/QMM >>10 2行目はもっと簡潔に書ける
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
↓
my %h = map{lc $_ => 1} /([A-Za-z])/g;
結局、これでよい筈
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
push @a, $_ if 26 == keys %h;
}
@s = sort{length $a <=> length $b} @a;
print $s[0];
__DATA__
… (ry
my %h = map{$_ => 1} map{lc} grep{/[a-z]/i} split '';
↓
my %h = map{lc $_ => 1} /([A-Za-z])/g;
結局、これでよい筈
for (<DATA>) {
my %h = map{lc $_ => 1} /([A-Za-z])/g;
push @a, $_ if 26 == keys %h;
}
@s = sort{length $a <=> length $b} @a;
print $s[0];
__DATA__
… (ry
2023/08/08(火) 19:36:27.56ID:ODiXw46s
>>3
Rust
use std::collections::HashSet;
use std::io::{self, BufRead, BufReader};
fn main() {
match BufReader::new(io::stdin())
.lines()
.map(Result::unwrap)
.filter(|line| {
line.bytes()
.filter(|b| matches!(b, b'A'..=b'Z'| b'a'..=b'z'))
.collect::<HashSet<_>>()
.len()
.eq(&26)
})
.min_by_key(String::len)
{
Some(shortest) => println!("{shortest}"),
None => eprintln!("ERROR: no matched lines"),
}
}
Rust
use std::collections::HashSet;
use std::io::{self, BufRead, BufReader};
fn main() {
match BufReader::new(io::stdin())
.lines()
.map(Result::unwrap)
.filter(|line| {
line.bytes()
.filter(|b| matches!(b, b'A'..=b'Z'| b'a'..=b'z'))
.collect::<HashSet<_>>()
.len()
.eq(&26)
})
.min_by_key(String::len)
{
Some(shortest) => println!("{shortest}"),
None => eprintln!("ERROR: no matched lines"),
}
}
2023/08/09(水) 12:27:32.68ID:ZMLVZrF/
17デフォルトの名無しさん
2023/08/10(木) 13:37:16.01ID:YYBOmFjO18蟻人間 ◆T6xkBnTXz7B0
2023/08/10(木) 19:00:30.10ID:kqXaMgBC お題: ちょっとした画像処理。
赤い丸がいくつか描画された不透明な画像ファイル「input.png」を読み込んで、赤い丸を緑の丸に描き変えたものを画像ファイル「output.png」に保存するプログラム。
ここに「赤い」とは、HSV色空間において、色相が0度~60度か300度~360度の範囲にあり、彩度が30%以上で、明度が50%以上の色であると定義する。
「丸」とは、円形度が0.7~1.3の範囲の単一色の図形であると定義する。
「緑」とはRGBで#008000の色であると定義する。
赤い丸がいくつか描画された不透明な画像ファイル「input.png」を読み込んで、赤い丸を緑の丸に描き変えたものを画像ファイル「output.png」に保存するプログラム。
ここに「赤い」とは、HSV色空間において、色相が0度~60度か300度~360度の範囲にあり、彩度が30%以上で、明度が50%以上の色であると定義する。
「丸」とは、円形度が0.7~1.3の範囲の単一色の図形であると定義する。
「緑」とはRGBで#008000の色であると定義する。
2023/08/10(木) 19:03:42.87ID:0ymjHRaX
絶対自分でやる気ないお題出すな
レスを投稿する
ニュース
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★9 [蚤の市★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 【サッカー】J1リーグの2025年平均観客動員数が4.4%増の21,246人 最多入場者数の2019年を超えて過去最高値 ★2 [尺アジ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 【沖縄】宮古島で陸自防災訓練に抗議した団体、「恫喝された」と駐屯地トップ厳正捜査求め署名運動 「市民弾圧と戦争への道を…」 [少考さん★]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪
- 官僚「差し控えます、と答えて」答弁用意→高市総理「どう考えても存立危機事態」 [834922174]
- 正義のミカタ「中国は日本人の反高市勢力を裏で操ってる。あいつらはスパイ」 [931948549]
- 【高市下落】「ナマコ」の価格、かつての4分の1まで下落してしまう😨 [616817505]
- サイコパス鈴木、完全に日本人の敵になる [402859164]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★2
