プログラミングのお題スレ 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/
353デフォルトの名無しさん
垢版 |
2023/01/11(水) 23:21:32.80ID:SA6KxbU7
あんぽんターン(^O^☆♪
2023/01/11(水) 23:21:51.74ID:IvsI+U0J
結局プログラミング以外の話になるのが蟻のお題
355デフォルトの名無しさん
垢版 |
2023/01/11(水) 23:23:33.77ID:qgXhIU8i
【悲報】アスペクトガイジ、先入観でドヤ顔で指摘するも開き直る
2023/01/11(水) 23:23:52.74ID:IvsI+U0J
ケーニヒスベルクの橋の問題なんだから無向に決まってんだろ
これも1個の解釈
357デフォルトの名無しさん
垢版 |
2023/01/11(水) 23:25:37.67ID:hvXrP5Qh
決まってないので指摘するのは間違いよ~
そもそも順序対に気付いていなかったのでそうだと思ってしまったのは仕方ないねぇ
2023/01/11(水) 23:29:01.68ID:IvsI+U0J
単発君、まだ勘違いしてるのか
アホ
359デフォルトの名無しさん
垢版 |
2023/01/11(水) 23:32:24.06ID:iLygO0TL
効いてる♪
効いてる♪
効いてる♪
効いてる♪
イライラしちゃって♪顔真っ赤♪
(妖怪ウォッチのリズムで)
2023/01/12(木) 00:27:34.37ID:2cbw5EZQ
お題: オブジェクト指向でお絵描きプログラム。

各図形は、描画に必要な座標などを保持する、オブジェクト指向に準じたクラスとして定義する。描画対象のキャンバスは画面、画像、テキスト文字列などを好きに選んでも構わない。

キャンバスでは長方形Rectangle、円Circleの2種類の図形をメモリーの許す限り複数個、追加ができ、また削除できる。色が指定できる場合は塗りつぶしは黄色とし、線の色は青色とする。線の太さは1ピクセル以上とする。

図形を描画する関数は多態性を持ったdraw関数とする。

各図形に図形の位置をずらすmove関数(平行移動)を追加せよ。

複数の図形をグループ化した図形GroupShapeを追加し、GroupShapeにもdraw関数、move関数を追加せよ。

サイズ80x25の空白キャンバスに対して以下の操作を行え。

1. 長方形(8, 10)~(10, 15)を追加。
2. 半径5の円(10, 10)を追加。
3. 1と2をグループ化して+(2, 7)だけmove関数でずらす。
4. キャンバスをdraw関数で描画する。
361デフォルトの名無しさん
垢版 |
2023/01/12(木) 03:40:18.96ID:+C22HBL8
お題: 電子レンジのワット数に応じた時間計算

例えば500Wでしか暖められない電子レンジがあったとして、600W 2分30秒と書かれた弁当を温める場合に何分何秒にセットするのが良いかを計算して出す。

プログラムの入力はワット数、時間、変換ワット数のように引数で指定でも良いし標準入力から入力しても良いしその辺はご自由に。
出力は何分何秒になるかが分かるように出力されれば良い。
2023/01/12(木) 04:31:32.73ID:SDSfV1tN
お題:画面左から右に放物線を描け
放物線の大きさは自由とする
363デフォルトの名無しさん
垢版 |
2023/01/12(木) 17:46:47.17ID:0N8k5ccV
もうちょっと解きたくなる問題にしてよ
2023/01/12(木) 20:01:45.06ID:SDSfV1tN
解きたくなる問題っていわゆる競技プログラミング的な問題?
2023/01/12(木) 22:39:30.54ID:NydLThiR
辺のリストとして順序のない頂点番号のペアのリストが与えられます
すべての頂点についてそこに接続される辺の数が偶数であるか判定するプログラムを記述せよ
2023/01/13(金) 07:12:10.26ID:yfNIHWIT
お題:2023と出力せよ
ただしソースコードに使う記号とアルファベットと数字の文字数は同じでなければならない
2023/01/13(金) 07:28:17.46ID:yfNIHWIT
>>366 js
console.info(+0b1_11111_00111+''+'')

consoleinfob
.(+__+''+'')
011111100111
2023/01/13(金) 08:40:12.03ID:nvi3rj0H
printf("%04d",03747);
2023/01/13(金) 14:36:20.69ID:+TkXA4uq
>>365
digraph "koenigsberg" {
graph [rankdir=LR]
A [label="い"]
B [label="ろ"]
C [label="は"]
D [label="に"]
A -> B; A -> C; A -> D
C -> B; C -> B
C -> D; C -> D
}
屁が臭い
370デフォルトの名無しさん
垢版 |
2023/01/15(日) 00:08:46.23ID:FV+qvPCN
>>366
C

https://paiza.io/projects/i1c5DPBXZ1G-wd1QHitTQA

記号、アルファベット、数字は全て45文字になっている。空白文字はカウントしていない。
まあでも、C言語だからこれでエラーなくコンパイルできたというだけだな。
(paiza.ioのCコンパイラは警告出しまくりではあるが)。
他の言語だと変数に文字列代入するとかコメント使うとかしないと文字数の調整が出来ないかも知れない。
371デフォルトの名無しさん
垢版 |
2023/01/15(日) 01:00:27.85ID:FV+qvPCN
>>361
Kotlin

https://paiza.io/projects/5CeeHK2CT8yX9ExfzW5N8A

実はこのお題を作ったのは俺だ。

計算そのものはとても簡単なのでこういう機能は電子レンジに内蔵して欲しいな。
ワット数一つでダイヤル式の安い電子レンジでもそういう目盛りを書いておいてくれれば出来る。
2023/01/15(日) 02:14:30.17ID:gPxpLXY1
普通の知能を有した人間なら簡単に暗算出来るから必要ない
重度知能障害のガイジにはその機能すら使えない
つまり
極一部の軽度知能障害ガイジにだけ求められるニッチすぎる機能
そんなバカ向け機能搭載するくらいなら必要な温め時間を商品から読み取る機能を規格化して全(半)自動化すべきだろう
2023/01/15(日) 05:24:15.26ID:HfW5N73n
理屈があるのは分かるがまあ普段なら目分量的なイメージで適当に加減するわな
大体でいいんだし暗算っていうか計算すらしてないと思うが
2023/01/15(日) 06:42:56.97ID:jfEFDcL5
電子レンジにQRコード読み取り部作って弁当のラベルのQRコードで自動的にあっため時間セットしてくれるとかなら便利かな?
2023/01/15(日) 08:11:24.04ID:mSV32aUO
>>366 Ruby
puts 2_0_2_3
376デフォルトの名無しさん
垢版 |
2023/01/15(日) 17:19:38.70ID:WCY+XZ1J
>>366
PowerShell

-bnot(-2024)
377デフォルトの名無しさん
垢版 |
2023/01/15(日) 17:48:39.72ID:WCY+XZ1J
>>366
PowerShellでもう1つ。9文字(各種3文字ずつ)に減らした。

0x7EA-(3)
2023/01/15(日) 21:44:15.23ID:vbe9Mh4B
お題: エラトステネスのふるいによる素数計算。ただし、発見した素数は
一行ごとにテキストファイルに保存し、途中で中断したり、途中から再開できるようにせよ。
2023/01/15(日) 21:52:02.11ID:vbe9Mh4B
>>378 追記。

可能ならばマルチスレッドを使用し、効率良く計算せよ。
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
電子レンジの中のトレイの下の台って重さ測れるの?
2023/01/16(月) 22:39:09.16ID:iuZ1R8qg
お題
4桁のダイヤルロックの全パターン(0000~9999)を試すときの
最小手数の手順を一つ構成せよ。一つの桁の数字を1だけずらすことを1手とする。

[出力例]
0000
0001
0002

0008
0009
0019

384デフォルトの名無しさん
垢版 |
2023/01/16(月) 23:31:00.58ID:aXflKE34
>>374
それできると便利だね。レンジの庫内の上にカメラ付けておいて読ませれば弁当入れてスタートさせるだけで良くなる。
2023/01/20(金) 00:01:32.51ID:9QULq18e
お題: マイドキュメントの中から「secret.txt」というファイルを探して、
見つかったら、そのフルパスと中身を出力するプログラム。
2023/01/20(金) 01:04:08.85ID:ZAb8Aj+J
仕様があいまい
2023/01/20(金) 08:07:46.26ID:QPqgERsk
わざとやってんのか
ズレてるの自覚してないのか
2023/01/20(金) 08:26:44.32ID:4FDe58aX
アホだからわからないんでしょ
389デフォルトの名無しさん
垢版 |
2023/01/21(土) 06:38:17.48ID:LtuQH3eG
>>385
Windows 限定?
2023/01/21(土) 09:24:11.19ID:65q2x7kt
アホの相手すんな
391デフォルトの名無しさん
垢版 |
2023/01/21(土) 20:04:10.41ID:JTA3Ya2G
>>361
Java
https://paiza.io/projects/tI21IoS0VpT9-INfYrnL0A
2023/01/21(土) 20:29:41.73ID:F/Hlc0t0
>>389
Linux/MacではHOME環境変数を使っちゃって下さい。

>>390
パチパチパンチやで。
2023/01/21(土) 22:48:16.95ID:PxhUXXTz
>>392
Linux のコンサバなディストリは今はなにがお勧めですか、もうそろそろ Linux に乗り換えようかと
2023/01/21(土) 23:10:37.02ID:F/Hlc0t0
>>393
一般のデスクトップ向けの無料Linuxなら、利用者と情報の多いUbuntuやXubuntuがいい。
工業製品向けとなるとAndroidとかPuppy Linuxかな。私はLinuxは専門外だけど。
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
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
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
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
400デフォルトの名無しさん
垢版 |
2023/01/23(月) 02:39:02.46ID:PlrAEUgr
>>397
Kotlin

>>399をKotlinに変えたような感じ。

https://paiza.io/projects/N5dGV3k8eqnRgAPpJ99-gg
401デフォルトの名無しさん
垢版 |
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

空白行に意味はない。見やすくしただけ
2023/02/01(水) 03:34:10.44ID:7Z3xMS0R
>>401

Haskell

https://ideone.com/ESZHys

ただし入力はすべての行が
整数,整数,整数
または
整数,整数-整数,整数
のみの形と仮定、エラー処理やそれ以外の形式でが混じっている(空行など)が混じることは想定せず
403デフォルトの名無しさん
垢版 |
2023/02/01(水) 22:55:53.80ID:8+TAxA89
>>401
PowerShell (入力データはa.txtに保存されているものとし、形式は>>402と同じ)

cat a.txt |% {
  $d = $_ -split ","
  $r = @(iex ($d[1] -replace "-", ".."))
  $r |% {$d[0], $_, [Math]::Floor($d[2] / $r.count) -join ","}
}
404デフォルトの名無しさん
垢版 |
2023/02/02(木) 02:55:58.24ID:lvlxzCHr
>>401
Perl

https://paiza.io/projects/DkuQJOy6SCwnZ9NENkIKpA

空白行は入力しないで読み飛ばすだけにした。出力もしない。
405デフォルトの名無しさん
垢版 |
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
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}
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;
 }
}
2023/02/14(火) 09:59:44.90ID:K2Y3lAZv
お題:与えられた文字列が回文であるかどうかを判定するプログラムを作成してください。 (例: "racecar"は回文)
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
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;
 }
}
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;
}
2023/02/18(土) 21:57:36.50ID:VTzLeszJ
お題: 漢字かな混じり文をひらがなにする。

「親子丼を食べたい。」→「おやこどんをたべたい。」
「チャーハン美味しい!」→「ちゃーはんおいしい!」
「電話に出んわ」→「でんわにでんわ」
2023/02/18(土) 23:37:48.45ID:MFomzfEL
そんなんライブラリ使えば簡単
ちなコードは書かない
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属性をそのまま結果に追加します。最終的に、全ての単語を結合してひらがなに変換された文字列を返します。
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/19(日) 13:47:10.98ID:43fXspxI
祝日のうち、「春分の日」及び「秋分の日」は、法律で具体的に月日が明記されずに、それぞれ「春分日」、「秋分日」と定められています。

「春分の日」及び「秋分の日」については、国立天文台が、毎年2月に翌年の「春分の日」、「秋分の日」を官報で公表しています。詳しくは、国立天文台ホームページ「よくある質問」(質問3-1)を御参照ください。


こんなんどうすんの
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
419デフォルトの名無しさん
垢版 |
2023/02/19(日) 15:55:03.68ID:yOeRloac
>>415
Kotlin

人の作った休日DBを勝手に利用。元は Google カレンダーだそうだ。

https://paiza.io/projects/P0yO4Ami8CoAoxIfe-JU1g
2023/02/19(日) 16:25:48.49ID:xSIr/CQB
>>417
まあこの辺りから取得すればいいかと
https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv
2023/02/19(日) 16:38:47.61ID:H7J+ByWh
>>415
haskell

https://ideone.com/VHHFhk

春分の日、秋分の日は内閣府のhpにも2023,2024しかない
しゃあないのでwikiにあった2299年までのデータベース利用
数式に起こせるかもしれないけどどのみち未来永劫使えるわけでもなし、そんな俺様公式使ってもしゃあないし
曜日の計算はツェラーの公式
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>んわ」
423デフォルトの名無しさん
垢版 |
2023/02/19(日) 16:56:15.40ID:1QQUowPQ
>>415
Java
https://paiza.io/projects/dt5Wqy46kXUFqhS60ND_ow?language=java
2023/02/19(日) 17:07:42.42ID:PUYJwCgy
# 10進数128ビット浮動小数点数をIEEE754内部表現の2進数と16進数に変換する関数(python)
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>", ""
}
2023/02/20(月) 00:32:29.95ID:S/Y0RwmV
応用お題: かな漢字混じり文が回文かどうか判定。
2023/02/20(月) 00:35:10.73ID:S/Y0RwmV
応用お題: 現在の日時からX営業日後を計算せよ。
2023/02/20(月) 00:39:43.23ID:S/Y0RwmV
お題: 1番目、2番目、3番目など、いわゆる順序数は、英語で1st, 2nd, 3rdなどのように、アラビア数字と英字を混ぜて表記することがある。
入力された整数をこのような英語の順序数として出力せよ。
2023/02/20(月) 00:40:21.61ID:S/Y0RwmV
お題: 任意の英単語を複数形にせよ。
2023/02/20(月) 00:59:45.86ID:S/Y0RwmV
お題: 日本語の文が非文ではないことを判定する。

「私はご飯を食べました。」→「非文ではありません」
「投げたんばってんそうらんか。」→「非文の可能性があります」
「やなはまなはなあ。」→「非文の可能性があります」
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.」
432デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:43:32.57ID:4kHRqek0
>>429 js
(word) => word + 's'
433デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:48:53.40ID:4kHRqek0
>>427 js

(today, x) => range(x).map((i) => {
while(!isBusiness(today + x)) today ++
return today
})
434デフォルトの名無しさん
垢版 |
2023/02/20(月) 01:51:51.59ID:4kHRqek0
>>431 js

text.split(' ').map(([h, ...word}) => h.toUpperCase() + word).join(' ' )
2023/02/20(月) 02:03:33.85ID:S/Y0RwmV
>>432
複数形の規則はそんなに簡単じゃないんだ。
ごめんね。
436デフォルトの名無しさん
垢版 |
2023/02/20(月) 02:11:24.54ID:5symYZYJ
>>435
いやsつけるだけだろ
2023/02/20(月) 02:23:51.79ID:S/Y0RwmV
>>436
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'
2023/02/20(月) 02:40:42.75ID:S/Y0RwmV
fで終わる場合はfを外してvesをつける。
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;
2023/02/20(月) 09:45:16.32ID:sIqfmv40
仕様上げろや
仕様はそっちで調べて決めてくださいとか誰もやらん
2023/02/20(月) 10:16:16.88ID:S/Y0RwmV
>>441
すみませんでした。もう少し調べます
2023/02/20(月) 10:48:51.05ID:4EtRnxBT
蟻人間は元々適当なことしか書いてないから相手にしない方がいい
2023/02/21(火) 09:46:29.52ID:03Hzj4B1
>>408
Python
s = input()
print(s == s[::-1])
2023/02/21(火) 19:11:52.19ID:4/c8giY4
お題: 現在の日時をしゃべらせる。
2023/02/21(火) 19:35:21.00ID:KtZ49LjO
言語:シリ
ヘイシリ!時間は?
2023/02/22(水) 10:39:42.72ID:W49C35S1
>>445
ほら適当なことしか書いてない
2023/02/22(水) 19:44:44.02ID:qGoU8D7A
いちいちアホの相手すんな
449デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:57:01.39ID:dGvxcQeE
>>445
date コマンド

bash から実行した時の例。

$ date '+%T です。'
02:56:11 です。
450デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:57:44.62ID:dGvxcQeE
音声を出したい場合はこのテキストを読み上げソフトで読み上げさせたり自分で声に出して読んだりしてください。
451デフォルトの名無しさん
垢版 |
2023/02/23(木) 02:59:24.34ID:dGvxcQeE
>>445
間違えた。日時だったね。こうだ。

$ date '+%Y/%m/%d %T です。'
2023/02/23 02:58:40 です。
452デフォルトの名無しさん
垢版 |
2023/02/23(木) 13:20:13.85ID:oMKxIthr
【キッシンジャー】 ワクチンを強制し群れを減らす
://rio2016.5ch.net/test/read.cgi/lifesaloon/1662167492/l50
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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