プログラミングのお題スレです。
【出題と回答例】
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/
プログラミングのお題スレ Part21
■ このスレッドは過去ログ倉庫に格納されています
2022/11/13(日) 19:00:36.84ID:ZCYlhUwL
373デフォルトの名無しさん
2023/01/15(日) 05:24:15.26ID:HfW5N73n 理屈があるのは分かるがまあ普段なら目分量的なイメージで適当に加減するわな
大体でいいんだし暗算っていうか計算すらしてないと思うが
大体でいいんだし暗算っていうか計算すらしてないと思うが
374デフォルトの名無しさん
2023/01/15(日) 06:42:56.97ID:jfEFDcL5 電子レンジにQRコード読み取り部作って弁当のラベルのQRコードで自動的にあっため時間セットしてくれるとかなら便利かな?
375デフォルトの名無しさん
2023/01/15(日) 08:11:24.04ID:mSV32aUO >>366 Ruby
puts 2_0_2_3
puts 2_0_2_3
376デフォルトの名無しさん
2023/01/15(日) 17:19:38.70ID:WCY+XZ1J377デフォルトの名無しさん
2023/01/15(日) 17:48:39.72ID:WCY+XZ1J378蟻人間 ◆T6xkBnTXz7B0
2023/01/15(日) 21:44:15.23ID:vbe9Mh4B お題: エラトステネスのふるいによる素数計算。ただし、発見した素数は
一行ごとにテキストファイルに保存し、途中で中断したり、途中から再開できるようにせよ。
一行ごとにテキストファイルに保存し、途中で中断したり、途中から再開できるようにせよ。
380デフォルトの名無しさん
2023/01/16(月) 01:01:20.29ID:dNVpKyvJ 蟻人間ってこんなスレにも湧くのか
381デフォルトの名無しさん
2023/01/16(月) 15:39:46.71ID:MsfEWWA2 行についての説明が欠如
382デフォルトの名無しさん
2023/01/16(月) 15:41:07.03ID:MsfEWWA2 >>374
電子レンジの中のトレイの下の台って重さ測れるの?
電子レンジの中のトレイの下の台って重さ測れるの?
383デフォルトの名無しさん
2023/01/16(月) 22:39:09.16ID:iuZ1R8qg お題
4桁のダイヤルロックの全パターン(0000~9999)を試すときの
最小手数の手順を一つ構成せよ。一つの桁の数字を1だけずらすことを1手とする。
[出力例]
0000
0001
0002
…
0008
0009
0019
…
…
4桁のダイヤルロックの全パターン(0000~9999)を試すときの
最小手数の手順を一つ構成せよ。一つの桁の数字を1だけずらすことを1手とする。
[出力例]
0000
0001
0002
…
0008
0009
0019
…
…
384デフォルトの名無しさん
2023/01/16(月) 23:31:00.58ID:aXflKE34 >>374
それできると便利だね。レンジの庫内の上にカメラ付けておいて読ませれば弁当入れてスタートさせるだけで良くなる。
それできると便利だね。レンジの庫内の上にカメラ付けておいて読ませれば弁当入れてスタートさせるだけで良くなる。
385蟻人間 ◆T6xkBnTXz7B0
2023/01/20(金) 00:01:32.51ID:9QULq18e お題: マイドキュメントの中から「secret.txt」というファイルを探して、
見つかったら、そのフルパスと中身を出力するプログラム。
見つかったら、そのフルパスと中身を出力するプログラム。
386デフォルトの名無しさん
2023/01/20(金) 01:04:08.85ID:ZAb8Aj+J 仕様があいまい
387デフォルトの名無しさん
2023/01/20(金) 08:07:46.26ID:QPqgERsk わざとやってんのか
ズレてるの自覚してないのか
ズレてるの自覚してないのか
388デフォルトの名無しさん
2023/01/20(金) 08:26:44.32ID:4FDe58aX アホだからわからないんでしょ
389デフォルトの名無しさん
2023/01/21(土) 06:38:17.48ID:LtuQH3eG >>385
Windows 限定?
Windows 限定?
390デフォルトの名無しさん
2023/01/21(土) 09:24:11.19ID:65q2x7kt アホの相手すんな
391デフォルトの名無しさん
2023/01/21(土) 20:04:10.41ID:JTA3Ya2G392蟻人間 ◆T6xkBnTXz7B0
2023/01/21(土) 20:29:41.73ID:F/Hlc0t0393デフォルトの名無しさん
2023/01/21(土) 22:48:16.95ID:PxhUXXTz >>392
Linux のコンサバなディストリは今はなにがお勧めですか、もうそろそろ Linux に乗り換えようかと
Linux のコンサバなディストリは今はなにがお勧めですか、もうそろそろ Linux に乗り換えようかと
394蟻人間 ◆T6xkBnTXz7B0
2023/01/21(土) 23:10:37.02ID:F/Hlc0t0 >>393
一般のデスクトップ向けの無料Linuxなら、利用者と情報の多いUbuntuやXubuntuがいい。
工業製品向けとなるとAndroidとかPuppy Linuxかな。私はLinuxは専門外だけど。
一般のデスクトップ向けの無料Linuxなら、利用者と情報の多いUbuntuやXubuntuがいい。
工業製品向けとなるとAndroidとかPuppy Linuxかな。私はLinuxは専門外だけど。
395デフォルトの名無しさん
2023/01/22(日) 06:43:14.23ID:1NpPY/pK WSL2, Ubuntu 20.04 か22.04。
まあ素人は、20.04が無難
VSCode の拡張機能・Remote Development(Remote WSL, Remote SSH, Remote Containers)
これで、WSL2, Docker Desktop も使える
多言語バージョンマネージャーは、日本人が作ったanyenv とか、asdf もある。
それか、Docker
まあ素人は、20.04が無難
VSCode の拡張機能・Remote Development(Remote WSL, Remote SSH, Remote Containers)
これで、WSL2, Docker Desktop も使える
多言語バージョンマネージャーは、日本人が作ったanyenv とか、asdf もある。
それか、Docker
396デフォルトの名無しさん
2023/01/22(日) 07:22:51.14ID:LkY3mVDz 純粋関数型言語触るかテスト駆動開発入門してセンス磨いてくれ
397デフォルトの名無しさん
2023/01/22(日) 14:44:09.50ID:4qkUXg4j お題
月、名前、金額が入力されます
月が2022-12〜2023-01の期間で
金額の合計が最も大きい人の名前と合計の金額を出力してください
2022-10 加藤 10
2022-12 柳沢 10000
2022-10 柳沢 26
2023-01 伊東 10
2022-12 柳沢 151288
2022-11 加藤 10000
2023-02 伊東 257900
2022-12 柳沢 12600
2022-10 伊東 12600
2023-01 伊東 70000
2022-11 加藤 40000
2023-01 伊東 150000
2022-11 加藤 60000
2022-12 柳沢 257900
2023-02 柳沢 40000
2022-11 加藤 26
2023-02 加藤 10000
月、名前、金額が入力されます
月が2022-12〜2023-01の期間で
金額の合計が最も大きい人の名前と合計の金額を出力してください
2022-10 加藤 10
2022-12 柳沢 10000
2022-10 柳沢 26
2023-01 伊東 10
2022-12 柳沢 151288
2022-11 加藤 10000
2023-02 伊東 257900
2022-12 柳沢 12600
2022-10 伊東 12600
2023-01 伊東 70000
2022-11 加藤 40000
2023-01 伊東 150000
2022-11 加藤 60000
2022-12 柳沢 257900
2023-02 柳沢 40000
2022-11 加藤 26
2023-02 加藤 10000
398デフォルトの名無しさん
2023/01/22(日) 16:15:12.29ID:kK2ZzIVu >>397
Haskell
mport Data.List
makeReport ls = id
$ (\x -> ( minimum x, maximum x ))
$ map (\x -> ( sum $ map (read.(!!2)) x, (head x)!!1))
$ groupBy (\x y -> x!!1 == y!!1 )
$ filter ( \x -> head x >= "2022-12" && head x <= "2023-01" )
$ map words
$ ls
main = do
cont <- getContents
let ls = lines cont
print $ makeReport ls
Haskell
mport Data.List
makeReport ls = id
$ (\x -> ( minimum x, maximum x ))
$ map (\x -> ( sum $ map (read.(!!2)) x, (head x)!!1))
$ groupBy (\x y -> x!!1 == y!!1 )
$ filter ( \x -> head x >= "2022-12" && head x <= "2023-01" )
$ map words
$ ls
main = do
cont <- getContents
let ls = lines cont
print $ makeReport ls
399デフォルトの名無しさん
2023/01/23(月) 01:10:57.11ID:PlrAEUgr >>397
awk, sort, head
元データをコピペで odai_397.txt に入れておいて Linux で bash から以下を実行した。
awk '$1>="2022-12"&&$1<="2023-01"{t[$2]+=$3}END{for(i in t)print i,t[i]}' odai_397.txt | sort -k 2nr | head -1
結果はこう出た。
柳沢 431788
awk, sort, head
元データをコピペで odai_397.txt に入れておいて Linux で bash から以下を実行した。
awk '$1>="2022-12"&&$1<="2023-01"{t[$2]+=$3}END{for(i in t)print i,t[i]}' odai_397.txt | sort -k 2nr | head -1
結果はこう出た。
柳沢 431788
400デフォルトの名無しさん
2023/01/23(月) 02:39:02.46ID:PlrAEUgr401デフォルトの名無しさん
2023/01/31(火) 06:31:47.98ID:ozTESx1d お題
顧客番号・商品番号・小計のCSV を、
商品番号が連番の場合には、その分だけ行数を増やし、
小計を等分割しろ(1円未満は切り捨て)
入力
1,1,100
2,1-3,200
3,1,500
3,2-3,400
出力
1,1,100
2,1,66
2,2,66
2,3,66
3,1,500
3,2,200
3,3,200
空白行に意味はない。見やすくしただけ
顧客番号・商品番号・小計のCSV を、
商品番号が連番の場合には、その分だけ行数を増やし、
小計を等分割しろ(1円未満は切り捨て)
入力
1,1,100
2,1-3,200
3,1,500
3,2-3,400
出力
1,1,100
2,1,66
2,2,66
2,3,66
3,1,500
3,2,200
3,3,200
空白行に意味はない。見やすくしただけ
402デフォルトの名無しさん
2023/02/01(水) 03:34:10.44ID:7Z3xMS0R >>401
Haskell
https://ideone.com/ESZHys
ただし入力はすべての行が
整数,整数,整数
または
整数,整数-整数,整数
のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず
Haskell
https://ideone.com/ESZHys
ただし入力はすべての行が
整数,整数,整数
または
整数,整数-整数,整数
のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず
403デフォルトの名無しさん
2023/02/01(水) 22:55:53.80ID:8+TAxA89404デフォルトの名無しさん
2023/02/02(木) 02:55:58.24ID:lvlxzCHr405デフォルトの名無しさん
2023/02/03(金) 20:44:23.48ID:KJ3h+c6Z >>397
Elixir で作った。これは、ややこしかった
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。空白で区切る。
# 2022-12 〜 2023-01 の期間内のデータだけに絞り込む。
# 名前でグルーピングしてから、金額を取り出す。
# 各人の金額を、数値に変換してから合計する。
# 合計が最も大きい人を求める
tuple = input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, " " ) end )
|> Enum.filter( fn [ head | _ ] -> "2022-12" <= head and head <= "2023-01" end )
# |> IO.inspect
|> Enum.group_by( fn [ _, name, _ ] -> name end, fn [ _, _, money ] -> money end )
# |> IO.inspect
|> Enum.map( fn { key, val } -> { key,
Enum.sum( Enum.map( val, &String.to_integer( &1 ) ) )
}
end )
# |> IO.inspect
|> Enum.max_by( &elem( &1, 1 ) )
# |> IO.inspect
{ name, money } = tuple
IO.puts "#{ name }, #{ money }"
#=> 柳沢, 431788
Elixir で作った。これは、ややこしかった
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。空白で区切る。
# 2022-12 〜 2023-01 の期間内のデータだけに絞り込む。
# 名前でグルーピングしてから、金額を取り出す。
# 各人の金額を、数値に変換してから合計する。
# 合計が最も大きい人を求める
tuple = input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, " " ) end )
|> Enum.filter( fn [ head | _ ] -> "2022-12" <= head and head <= "2023-01" end )
# |> IO.inspect
|> Enum.group_by( fn [ _, name, _ ] -> name end, fn [ _, _, money ] -> money end )
# |> IO.inspect
|> Enum.map( fn { key, val } -> { key,
Enum.sum( Enum.map( val, &String.to_integer( &1 ) ) )
}
end )
# |> IO.inspect
|> Enum.max_by( &elem( &1, 1 ) )
# |> IO.inspect
{ name, money } = tuple
IO.puts "#{ name }, #{ money }"
#=> 柳沢, 431788
406405
2023/02/03(金) 20:45:35.25ID:KJ3h+c6Z >>405
の続き。データの変遷
[
["2022-12", "柳沢", "10000"],
["2023-01", "伊東", "10"],
["2022-12", "柳沢", "151288"],
["2022-12", "柳沢", "12600"],
["2023-01", "伊東", "70000"],
["2023-01", "伊東", "150000"],
["2022-12", "柳沢", "257900"]
]
%{
"伊東" => ["10", "70000", "150000"],
"柳沢" => ["10000", "151288", "12600", "257900"]
}
[{"伊東", 220010}, {"柳沢", 431788}]
{"柳沢", 431788}
の続き。データの変遷
[
["2022-12", "柳沢", "10000"],
["2023-01", "伊東", "10"],
["2022-12", "柳沢", "151288"],
["2022-12", "柳沢", "12600"],
["2023-01", "伊東", "70000"],
["2023-01", "伊東", "150000"],
["2022-12", "柳沢", "257900"]
]
%{
"伊東" => ["10", "70000", "150000"],
"柳沢" => ["10000", "151288", "12600", "257900"]
}
[{"伊東", 220010}, {"柳沢", 431788}]
{"柳沢", 431788}
407デフォルトの名無しさん
2023/02/14(火) 09:18:44.14ID:NQYE/eke >>397
C#
public static void Main(String[] args) {
var m = ReadLines()
.Select(x => {
var a = x.Split(" ");
return new { Month = a[0], Name = a[1], Money = int.Parse(a[2]) };
})
.Where(x => "2022-12".CompareTo(x.Month) <= 0 && x.Month.CompareTo("2023-01") <= 0)
.GroupBy(x => x.Name)
.Select(g => new { Name = g.Key, Total = g.Select(x => x.Money).Sum() })
.MaxBy(x => x.Total);
Console.WriteLine(m);
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
C#
public static void Main(String[] args) {
var m = ReadLines()
.Select(x => {
var a = x.Split(" ");
return new { Month = a[0], Name = a[1], Money = int.Parse(a[2]) };
})
.Where(x => "2022-12".CompareTo(x.Month) <= 0 && x.Month.CompareTo("2023-01") <= 0)
.GroupBy(x => x.Name)
.Select(g => new { Name = g.Key, Total = g.Select(x => x.Money).Sum() })
.MaxBy(x => x.Total);
Console.WriteLine(m);
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
408デフォルトの名無しさん
2023/02/14(火) 09:59:44.90ID:K2Y3lAZv お題:与えられた文字列が回文であるかどうかを判定するプログラムを作成してください。 (例: "racecar"は回文)
409デフォルトの名無しさん
2023/02/14(火) 17:10:57.35ID:Dc+ThI52 >>408
Haskell
isPalindrome x = x == reverse x
main = do
print $ isPalindrome "DVD"
print $ isPalindrome "TOMATO"
print $ isPalindrome "しんぶんし"
------
True
False
True
Haskell
isPalindrome x = x == reverse x
main = do
print $ isPalindrome "DVD"
print $ isPalindrome "TOMATO"
print $ isPalindrome "しんぶんし"
------
True
False
True
410デフォルトの名無しさん
2023/02/18(土) 20:06:32.64ID:7FIuY7Pp >>401
C#
public static void Main(String[] args) {
var xs = ReadLines()
.Select(x => {
var a = x.Split(",");
return new { UserId = a[0], ItemIdRange = a[1], Amount = int.Parse(a[2]) };
})
.SelectMany(x => {
var range = x.ItemIdRange.Split("-")
.Select(y => int.Parse(y))
.ToArray();
var from = range[0];
var to = range.Length == 1 ? from : range[1];
var count = to - from + 1;
var amount = x.Amount / count;
return Enumerable.Range(from, count)
.Select(id => new { UserId = x.UserId, ItemId = id, Amount = amount });
});
foreach (var x in xs) {
Console.WriteLine(x);
}
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
C#
public static void Main(String[] args) {
var xs = ReadLines()
.Select(x => {
var a = x.Split(",");
return new { UserId = a[0], ItemIdRange = a[1], Amount = int.Parse(a[2]) };
})
.SelectMany(x => {
var range = x.ItemIdRange.Split("-")
.Select(y => int.Parse(y))
.ToArray();
var from = range[0];
var to = range.Length == 1 ? from : range[1];
var count = to - from + 1;
var amount = x.Amount / count;
return Enumerable.Range(from, count)
.Select(id => new { UserId = x.UserId, ItemId = id, Amount = amount });
});
foreach (var x in xs) {
Console.WriteLine(x);
}
}
static IEnumerable<string> ReadLines() {
while (true) {
var line = Console.ReadLine();
if (line == null) {
yield break;
}
yield return line;
}
}
411デフォルトの名無しさん
2023/02/18(土) 20:21:20.76ID:7FIuY7Pp >>408
C#
static bool IsPalindrome(string s) {
var i = -1;
var j = s.Length;
while (++i < --j) if (s[i] != s[j]) return false;
return true;
}
C#
static bool IsPalindrome(string s) {
var i = -1;
var j = s.Length;
while (++i < --j) if (s[i] != s[j]) return false;
return true;
}
412蟻人間 ◆T6xkBnTXz7B0
2023/02/18(土) 21:57:36.50ID:VTzLeszJ お題: 漢字かな混じり文をひらがなにする。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
413デフォルトの名無しさん
2023/02/18(土) 23:37:48.45ID:MFomzfEL そんなんライブラリ使えば簡単
ちなコードは書かない
ちなコードは書かない
414デフォルトの名無しさん
2023/02/19(日) 11:38:22.32ID:IvV72Gup ChatGPTに聞いてみた。
プロンプト
漢字とひらがなを含む日本語の文をひらがなに変換するプログラムをPythonで書いて下さい。以下は入出力例です。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
回答
Pythonでは、「janome」という形態素解析ライブラリを利用することで、文字列を形態素解析して単語に分割し、各単語の読みを取得することができます。以下は、janomeを使って入力された日本語の文をひらがなに変換するプログラムの例です。
from janome.tokenizer import Tokenizer
def kanji_to_hiragana(text):
t = Tokenizer()
tokens = t.tokenize(text)
result = ""
for token in tokens:
reading = token.reading
if reading is None:
result += token.surface
else:
result += reading
return result
text = "親子丼を食べたい。"
result = kanji_to_hiragana(text)
print(result) # おやこどんをたべたい。
text = "チャーハン美味しい!"
result = kanji_to_hiragana(text)
print(result) # ちゃーはんおいしい!
text = "電話に出んわ"
result = kanji_to_hiragana(text)
print(result) # でんわにでんわ
このプログラムでは、janomeのTokenizerクラスを使用して、入力されたテキストを形態素解析し、各単語の読みを取得します。単語の読みは、Tokenオブジェクトのreading属性に格納されており、これがひらがなであれば、そのまま結果に追加します。readingがNoneの場合は、漢字や記号などの場合であるため、Tokenオブジェクトのsurface属性をそのまま結果に追加します。最終的に、全ての単語を結合してひらがなに変換された文字列を返します。
プロンプト
漢字とひらがなを含む日本語の文をひらがなに変換するプログラムをPythonで書いて下さい。以下は入出力例です。
「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
回答
Pythonでは、「janome」という形態素解析ライブラリを利用することで、文字列を形態素解析して単語に分割し、各単語の読みを取得することができます。以下は、janomeを使って入力された日本語の文をひらがなに変換するプログラムの例です。
from janome.tokenizer import Tokenizer
def kanji_to_hiragana(text):
t = Tokenizer()
tokens = t.tokenize(text)
result = ""
for token in tokens:
reading = token.reading
if reading is None:
result += token.surface
else:
result += reading
return result
text = "親子丼を食べたい。"
result = kanji_to_hiragana(text)
print(result) # おやこどんをたべたい。
text = "チャーハン美味しい!"
result = kanji_to_hiragana(text)
print(result) # ちゃーはんおいしい!
text = "電話に出んわ"
result = kanji_to_hiragana(text)
print(result) # でんわにでんわ
このプログラムでは、janomeのTokenizerクラスを使用して、入力されたテキストを形態素解析し、各単語の読みを取得します。単語の読みは、Tokenオブジェクトのreading属性に格納されており、これがひらがなであれば、そのまま結果に追加します。readingがNoneの場合は、漢字や記号などの場合であるため、Tokenオブジェクトのsurface属性をそのまま結果に追加します。最終的に、全ての単語を結合してひらがなに変換された文字列を返します。
415蟻人間 ◆T6xkBnTXz7B0
2023/02/19(日) 13:28:00.72ID:tpbM8io3 お題: 入力されたYYYY-MM-DD形式の日付文字列について、その日付が営業日かどうか判定する。
「2023-02-10」→「営業日です」
「2023-02-11」→「営業日ではありません」
「2023-02-23」→「営業日ではありません」
「2023-03-19」→「営業日ではありません」
土日祝日は営業日ではないものとする。
「2023-02-10」→「営業日です」
「2023-02-11」→「営業日ではありません」
「2023-02-23」→「営業日ではありません」
「2023-03-19」→「営業日ではありません」
土日祝日は営業日ではないものとする。
416デフォルトの名無しさん
2023/02/19(日) 13:47:10.98ID:43fXspxI 祝日のうち、「春分の日」及び「秋分の日」は、法律で具体的に月日が明記されずに、それぞれ「春分日」、「秋分日」と定められています。
「春分の日」及び「秋分の日」については、国立天文台が、毎年2月に翌年の「春分の日」、「秋分の日」を官報で公表しています。詳しくは、国立天文台ホームページ「よくある質問」(質問3-1)を御参照ください。
こんなんどうすんの
「春分の日」及び「秋分の日」については、国立天文台が、毎年2月に翌年の「春分の日」、「秋分の日」を官報で公表しています。詳しくは、国立天文台ホームページ「よくある質問」(質問3-1)を御参照ください。
こんなんどうすんの
417蟻人間 ◆T6xkBnTXz7B0
2023/02/19(日) 14:17:51.53ID:tpbM8io3 まともな国の政府なら、どっかのデータベースに休日祝日をまとめて公表してるんじゃないの?
じゃなければ、おま国
じゃなければ、おま国
418デフォルトの名無しさん
2023/02/19(日) 14:42:20.06ID:yOeRloac >>408
Kotlin
折角なので回文判定メソッドを String クラスに追加して判定するようにした。
でも複数文字で1文字扱いになるような場合にダメ(例えば半角カナで濁点や半濁点の文字が入る等)。
https://paiza.io/projects/Sa7SUvtirOLawuwjtMXpWQ
Kotlin
折角なので回文判定メソッドを String クラスに追加して判定するようにした。
でも複数文字で1文字扱いになるような場合にダメ(例えば半角カナで濁点や半濁点の文字が入る等)。
https://paiza.io/projects/Sa7SUvtirOLawuwjtMXpWQ
419デフォルトの名無しさん
2023/02/19(日) 15:55:03.68ID:yOeRloac420デフォルトの名無しさん
2023/02/19(日) 16:25:48.49ID:xSIr/CQB421デフォルトの名無しさん
2023/02/19(日) 16:38:47.61ID:H7J+ByWh >>415
haskell
https://ideone.com/VHHFhk
春分の日、秋分の日は内閣府のhpにも2023,2024しかない
しゃあないのでwikiにあった2299年までのデータベース利用
数式に起こせるかもしれないけどどのみち未来永劫使えるわけでもなし、そんな俺様公式使ってもしゃあないし
曜日の計算はツェラーの公式
haskell
https://ideone.com/VHHFhk
春分の日、秋分の日は内閣府のhpにも2023,2024しかない
しゃあないのでwikiにあった2299年までのデータベース利用
数式に起こせるかもしれないけどどのみち未来永劫使えるわけでもなし、そんな俺様公式使ってもしゃあないし
曜日の計算はツェラーの公式
422蟻人間 ◆T6xkBnTXz7B0
2023/02/19(日) 16:52:57.61ID:tpbM8io3 お題: かな漢字混じり文を入力とし、それに含まれるHTMLの特殊文字をエスケープ処理し、さらに漢字にHTMLのルビを振ったHTML文字列を出力せよ。カタカナにはルビを振る必要はないものとする。
「親子丼を食べたい。」→「<ruby>親子丼<rt>おやこどん</rt></ruby>を<ruby>食<rt>た</rt></ruby>べたい。」
「チャーハン美味しい!」→「チャーハン<ruby>美味<rt>おい</rt></ruby>しい!」
「電話に出んわ」→「<ruby>電話<rt>でんわ</rt></ruby>に<ruby>出<rt>で</rt></ruby>んわ」
「親子丼を食べたい。」→「<ruby>親子丼<rt>おやこどん</rt></ruby>を<ruby>食<rt>た</rt></ruby>べたい。」
「チャーハン美味しい!」→「チャーハン<ruby>美味<rt>おい</rt></ruby>しい!」
「電話に出んわ」→「<ruby>電話<rt>でんわ</rt></ruby>に<ruby>出<rt>で</rt></ruby>んわ」
423デフォルトの名無しさん
2023/02/19(日) 16:56:15.40ID:1QQUowPQ424デフォルトの名無しさん
2023/02/19(日) 17:07:42.42ID:PUYJwCgy # 10進数128ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換する関数(python)
https://paiza.io/projects/DjBcWyn3v0D-xpwVQ7FrCg?language=java
上記のプログラムにはバグがあり、特定の値を変換できません。
どう直したら全ての128ビット浮動小数点数を網羅できるのかお考え下さい。
https://paiza.io/projects/DjBcWyn3v0D-xpwVQ7FrCg?language=java
上記のプログラムにはバグがあり、特定の値を変換できません。
どう直したら全ての128ビット浮動小数点数を網羅できるのかお考え下さい。
425デフォルトの名無しさん
2023/02/19(日) 23:35:38.77ID:k8LiuZ++ >>422
PowerShell (Microsoft Excelがインストールされている環境限定。例文に特殊文字はないのでエスケープ処理は省略)
Add-Type -AssemblyName Microsoft.VisualBasic
$Excel = New-Object -ComObject Excel.Application
foreach ($s in "親子丼を食べたい。", "チャーハン美味しい!", "電話に出んわ") {
$r = [Microsoft.VisualBasic.Strings]::StrConv($Excel.GetPhonetic($s), 32)
$p1 = $s -replace "[^\p{IsHiragana}\p{IsKatakana}\p{P}]+", "(.+)"
$p2 = [Microsoft.VisualBasic.Strings]::StrConv($p1, 32)
$t1 = [RegEx]::split($s, $p1)
$t2 = [RegEx]::split($r, $p2)
$t3 = [RegEx]::split($p1, "\(\.\+\)")
((0..($t1.count - 1) |% {"<ruby>$($t1[$_])<rt>$($t2[$_])</rt></ruby>$($t3[$_])"}) -join "") -replace "<ruby><rt></rt></ruby>", ""
}
PowerShell (Microsoft Excelがインストールされている環境限定。例文に特殊文字はないのでエスケープ処理は省略)
Add-Type -AssemblyName Microsoft.VisualBasic
$Excel = New-Object -ComObject Excel.Application
foreach ($s in "親子丼を食べたい。", "チャーハン美味しい!", "電話に出んわ") {
$r = [Microsoft.VisualBasic.Strings]::StrConv($Excel.GetPhonetic($s), 32)
$p1 = $s -replace "[^\p{IsHiragana}\p{IsKatakana}\p{P}]+", "(.+)"
$p2 = [Microsoft.VisualBasic.Strings]::StrConv($p1, 32)
$t1 = [RegEx]::split($s, $p1)
$t2 = [RegEx]::split($r, $p2)
$t3 = [RegEx]::split($p1, "\(\.\+\)")
((0..($t1.count - 1) |% {"<ruby>$($t1[$_])<rt>$($t2[$_])</rt></ruby>$($t3[$_])"}) -join "") -replace "<ruby><rt></rt></ruby>", ""
}
426蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 00:32:29.95ID:S/Y0RwmV 応用お題: かな漢字混じり文が回文かどうか判定。
427蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 00:35:10.73ID:S/Y0RwmV 応用お題: 現在の日時からX営業日後を計算せよ。
428蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 00:39:43.23ID:S/Y0RwmV お題: 1番目、2番目、3番目など、いわゆる順序数は、英語で1st, 2nd, 3rdなどのように、アラビア数字と英字を混ぜて表記することがある。
入力された整数をこのような英語の順序数として出力せよ。
入力された整数をこのような英語の順序数として出力せよ。
429蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 00:40:21.61ID:S/Y0RwmV お題: 任意の英単語を複数形にせよ。
430蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 00:59:45.86ID:S/Y0RwmV お題: 日本語の文が非文ではないことを判定する。
「私はご飯を食べました。」→「非文ではありません」
「投げたんばってんそうらんか。」→「非文の可能性があります」
「やなはまなはなあ。」→「非文の可能性があります」
「私はご飯を食べました。」→「非文ではありません」
「投げたんばってんそうらんか。」→「非文の可能性があります」
「やなはまなはなあ。」→「非文の可能性があります」
431蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 01:07:33.83ID:S/Y0RwmV お題: 英文の各単語の先頭の文字を大文字にせよ。
「The quick brown fox jumps over the lazy dog.」→「The Quick Brown Fox Jumps Over The Lazy Dog.」
「The quick brown fox jumps over the lazy dog.」→「The Quick Brown Fox Jumps Over The Lazy Dog.」
432デフォルトの名無しさん
2023/02/20(月) 01:43:32.57ID:4kHRqek0 >>429 js
(word) => word + 's'
(word) => word + 's'
433デフォルトの名無しさん
2023/02/20(月) 01:48:53.40ID:4kHRqek0434デフォルトの名無しさん
2023/02/20(月) 01:51:51.59ID:4kHRqek0436デフォルトの名無しさん
2023/02/20(月) 02:11:24.54ID:5symYZYJ >>435
いやsつけるだけだろ
いやsつけるだけだろ
437蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 02:23:51.79ID:S/Y0RwmV >>436
https://english-club.jp/blog/english-noun-plural/
まず、英単語が加算名詞か非加算名詞か判定し、非加算名詞なら何も付けない。
さらにすでに複数形ならばそのまま。
sやshで終わる場合、esを付ける。
yで終わる場合、そのyを外してiesを付ける。
とか、いった規則があったはず。
https://english-club.jp/blog/english-noun-plural/
まず、英単語が加算名詞か非加算名詞か判定し、非加算名詞なら何も付けない。
さらにすでに複数形ならばそのまま。
sやshで終わる場合、esを付ける。
yで終わる場合、そのyを外してiesを付ける。
とか、いった規則があったはず。
438デフォルトの名無しさん
2023/02/20(月) 02:37:40.70ID:4kHRqek0 >>437
(word) =>
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's'
(word) =>
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's'
439蟻人間 ◆T6xkBnTXz7B0
2023/02/20(月) 02:40:42.75ID:S/Y0RwmV fで終わる場合はfを外してvesをつける。
xで終わるときはesをつける。
またいくつかの単語には例外がある。
mouse→mice
xで終わるときはesをつける。
またいくつかの単語には例外がある。
mouse→mice
440デフォルトの名無しさん
2023/02/20(月) 02:49:12.44ID:4kHRqek0 ts
(word: string) =>
蟻(word) ?? (
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's')
type 未定義の処理結果 = string
declare function 蟻(word: string): 未定義の処理結果 | null;
(word: string) =>
蟻(word) ?? (
isNotKasan(word)
? word
: word.endsWith('s') || word.endsWith('sh')
? word + 'es'
: word.endsWith('y')
? word.slice(0, -1) + 'ies'
: word + 's')
type 未定義の処理結果 = string
declare function 蟻(word: string): 未定義の処理結果 | null;
441デフォルトの名無しさん
2023/02/20(月) 09:45:16.32ID:sIqfmv40 仕様上げろや
仕様はそっちで調べて決めてくださいとか誰もやらん
仕様はそっちで調べて決めてくださいとか誰もやらん
443デフォルトの名無しさん
2023/02/20(月) 10:48:51.05ID:4EtRnxBT 蟻人間は元々適当なことしか書いてないから相手にしない方がいい
444デフォルトの名無しさん
2023/02/21(火) 09:46:29.52ID:03Hzj4B1445蟻人間 ◆T6xkBnTXz7B0
2023/02/21(火) 19:11:52.19ID:4/c8giY4 お題: 現在の日時をしゃべらせる。
446デフォルトの名無しさん
2023/02/21(火) 19:35:21.00ID:KtZ49LjO 言語:シリ
ヘイシリ!時間は?
ヘイシリ!時間は?
447デフォルトの名無しさん
2023/02/22(水) 10:39:42.72ID:W49C35S1 >>445
ほら適当なことしか書いてない
ほら適当なことしか書いてない
448デフォルトの名無しさん
2023/02/22(水) 19:44:44.02ID:qGoU8D7A いちいちアホの相手すんな
449デフォルトの名無しさん
2023/02/23(木) 02:57:01.39ID:dGvxcQeE450デフォルトの名無しさん
2023/02/23(木) 02:57:44.62ID:dGvxcQeE 音声を出したい場合はこのテキストを読み上げソフトで読み上げさせたり自分で声に出して読んだりしてください。
451デフォルトの名無しさん
2023/02/23(木) 02:59:24.34ID:dGvxcQeE452デフォルトの名無しさん
2023/02/23(木) 13:20:13.85ID:oMKxIthr 【キッシンジャー】 ワクチンを強制し群れを減らす
://rio2016.5ch.net/test/read.cgi/lifesaloon/1662167492/l50
://rio2016.5ch.net/test/read.cgi/lifesaloon/1662167492/l50
453デフォルトの名無しさん
2023/02/23(木) 17:13:39.72ID:cdZW/MyP クソ蟻の相手すんなや
馬鹿しかおらんのか
馬鹿しかおらんのか
454401
2023/02/23(木) 18:33:45.89ID:n1e6/0k5 >>401
Elixir で作った
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。カンマで区切る
input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, "," ) end )
|> Enum.each( fn [ custom_num, seq_num, money ] ->
{ from, to } = case String.split( seq_num, "-" ) do
# - を含まない時は、2つに分割できない
[ first ] -> num = String.to_integer( first )
{ num, num }
# - を含む時は、2つに分割できる
[ first, last ] -> { String.to_integer( first ), String.to_integer( last ) }
end
for n <- from..to, do: IO.puts "#{ custom_num },#{ n },#{ div( String.to_integer( money ), to - from + 1 ) }"
end )
# |> IO.inspect
Elixir で作った
{ :ok, input_data } = File.read( "input_data.csv" )
# IO.inspect input_data
# 末尾の改行を削除してから、1行ずつ処理する。カンマで区切る
input_data
|> String.trim
|> String.split( "\n" )
|> Enum.map( fn( line ) -> String.split( line, "," ) end )
|> Enum.each( fn [ custom_num, seq_num, money ] ->
{ from, to } = case String.split( seq_num, "-" ) do
# - を含まない時は、2つに分割できない
[ first ] -> num = String.to_integer( first )
{ num, num }
# - を含む時は、2つに分割できる
[ first, last ] -> { String.to_integer( first ), String.to_integer( last ) }
end
for n <- from..to, do: IO.puts "#{ custom_num },#{ n },#{ div( String.to_integer( money ), to - from + 1 ) }"
end )
# |> IO.inspect
455デフォルトの名無しさん
2023/02/24(金) 02:31:53.29ID:qWDde+97456デフォルトの名無しさん
2023/02/24(金) 20:55:59.01ID:Kkq1C7fS >>445
たまには回答側に回ってみなさい
お題
個人の名前,上司の名前,個人の仕事力
が入力されます
個人の仕事力とその上司たちの仕事力を合計した値を出力してください
入力
ガンド部長,ブリ事業部長,9000
モジャコ,ヤズ係長,39000
ワラサ部長,ブリ事業部長,46000
メジロ部長,ブリ事業部長,34000
ブリ事業部長,,32000
ツバイソ,コズクラ係長,24000
ツバス係長,ハマチ課長,23000
ワカナ,ツバス係長,4000
イナダ課長,ワラサ部長,5000
ヤズ係長,ハマチ課長,23000
ワカナゴ係長,イナダ課長,49000
フクラギ課長,ガンド部長,17000
ハマチ課長,メジロ部長,19000
コズクラ係長,フクラギ課長,31000
出力
41000 : ガンド部長 -> ブリ事業部長
147000 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
78000 : ワラサ部長 -> ブリ事業部長
-----省略-----
たまには回答側に回ってみなさい
お題
個人の名前,上司の名前,個人の仕事力
が入力されます
個人の仕事力とその上司たちの仕事力を合計した値を出力してください
入力
ガンド部長,ブリ事業部長,9000
モジャコ,ヤズ係長,39000
ワラサ部長,ブリ事業部長,46000
メジロ部長,ブリ事業部長,34000
ブリ事業部長,,32000
ツバイソ,コズクラ係長,24000
ツバス係長,ハマチ課長,23000
ワカナ,ツバス係長,4000
イナダ課長,ワラサ部長,5000
ヤズ係長,ハマチ課長,23000
ワカナゴ係長,イナダ課長,49000
フクラギ課長,ガンド部長,17000
ハマチ課長,メジロ部長,19000
コズクラ係長,フクラギ課長,31000
出力
41000 : ガンド部長 -> ブリ事業部長
147000 : モジャコ -> ヤズ係長 -> ハマチ課長 -> メジロ部長 -> ブリ事業部長
78000 : ワラサ部長 -> ブリ事業部長
-----省略-----
457デフォルトの名無しさん
2023/02/24(金) 22:54:59.85ID:PMEalhSr ぼくの逞しいおちんぽ
458デフォルトの名無しさん
2023/02/24(金) 23:22:44.02ID:3XqkjO93459デフォルトの名無しさん
2023/02/25(土) 08:48:42.87ID:zHIcIgZr460デフォルトの名無しさん
2023/02/25(土) 11:05:00.42ID:dAzPm75C >>458
同じ人に複数パターンの上司ってどういうこと?
同じ人に複数パターンの上司ってどういうこと?
461デフォルトの名無しさん
2023/02/25(土) 13:54:15.17ID:R9oPtKUj おかしいよな?
しかし
1:ガンド部長,ブリ事業部長,9000
2;ブリ事業部長,,32000
からの出力が
41000 : ガンド部長 -> ブリ事業部長
なら2の行があれば32000を一回足すって事だとしか思えないけど完全に意味不明
しかし
1:ガンド部長,ブリ事業部長,9000
2;ブリ事業部長,,32000
からの出力が
41000 : ガンド部長 -> ブリ事業部長
なら2の行があれば32000を一回足すって事だとしか思えないけど完全に意味不明
462デフォルトの名無しさん
2023/02/25(土) 14:00:32.25ID:dAzPm75C ???
何を不思議がっているのかがわからない
何を不思議がっているのかがわからない
463デフォルトの名無しさん
2023/02/25(土) 14:21:21.89ID:m5+HOY8+ もういいわ
464デフォルトの名無しさん
2023/02/25(土) 14:28:23.84ID:rFr0WMKo465デフォルトの名無しさん
2023/02/25(土) 14:40:44.77ID:m5+HOY8+ やっとわかった
A,B,n
は
社員、直属の上司、仕事力
で例外的に部長は直属の上司なしで
A,,n
と記載されている
求められる仕様は全てのAとその上司Bに対してAの直属の上司、その直属の上司、‥でBに至る社員を全てリストアップしてその仕事力の総和を表示せよ
かね
もういいや
A,B,n
は
社員、直属の上司、仕事力
で例外的に部長は直属の上司なしで
A,,n
と記載されている
求められる仕様は全てのAとその上司Bに対してAの直属の上司、その直属の上司、‥でBに至る社員を全てリストアップしてその仕事力の総和を表示せよ
かね
もういいや
466デフォルトの名無しさん
2023/02/25(土) 14:53:53.68ID:dAzPm75C コレは恥ずかしい。
467デフォルトの名無しさん
2023/02/25(土) 15:00:57.04ID:m5+HOY8+ まだ間違ってんの?
ならもういいや
仮にまだ間違ってるとして何その言い方?
何様?
そんな空気しか出せないんなら消えろやカス
ならもういいや
仮にまだ間違ってるとして何その言い方?
何様?
そんな空気しか出せないんなら消えろやカス
468デフォルトの名無しさん
2023/02/25(土) 18:30:05.28ID:ylAvVdkX469デフォルトの名無しさん
2023/02/26(日) 00:19:46.37ID:RymrPGNU ID:Kkq1C7fSがあれから一回も書き込んでないあたり、何も考えずにお題出したんでしょ
470デフォルトの名無しさん
2023/02/26(日) 02:21:31.96ID:B5iNMzdY ガチアスペが暴れるスレッド
471デフォルトの名無しさん
2023/02/26(日) 09:46:23.93ID:4Uq2hv6i お題:N×Nの正方形Aがある。各頂点から点a,b,c,dを正方形の内側のランダムな方向に射出する。点が内側をバウンドし移動してるあいだAの中心点からM×Mの正方形B(最初は点)が徐々に拡大していく。この時、Bの内側に点a,b,c,dが収まるのはMがいくつの時か計算しなさい。
472デフォルトの名無しさん
2023/02/26(日) 18:15:13.00ID:aYPcDOt1 Mの拡大率も書いてないし射出した点の速さも書かれてない
仕様が不十分
ROMってね
仕様が不十分
ROMってね
473デフォルトの名無しさん
2023/02/26(日) 19:02:07.54ID:OLcPjaJb 厳密厨って何が楽しくて生きてるんだろうな。
■ このスレッドは過去ログ倉庫に格納されています
