プログラミングのお題スレです。
【出題と回答例】
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:/xW45k0z334デフォルトの名無しさん
2024/04/18(木) 22:41:59.70ID:y7NBfn6/ >>331
その通り。そして、(a, b, c) = (10000.1, 10000.2, 20000.3)とすれば、正しい面積は0なのに
Heron's Δ' = 2.69745899635295とAccurate Δ = 1.34872949817647は両方とも大間違いになる。
この場合のようにHeron's Δ'での問題がAccurate Δで改善されないだけでなく、>>331の引用の
場合のようにHeron's Δ'では結果的に問題ないのにAccurate Δでは新たな問題が生じてしまうのは、
参考文献の11ページで述べられた
An algorithm stood convicted of numerical instability if it could be replaced by
a new algorithm at least about as fast and accurate as the old for all data,
and good for all data for which the old algorithm was bad.
すべてのデータに対して旧アルゴリズムと少なくとも同じくらい高速かつ正確であり、
かつ旧アルゴリズムが悪くなるすべてのデータに対して良くなる新アルゴリズムによって
置き換えることができるとしたら、旧アルゴリズムは数値的に不安定と判定される。
という判定条件を満たさないから、Accurate Δは改良版としての適性を欠く。
>>333
その例では有効桁数がHeron's Δ'は0桁、Accurate Δは1桁しかなく、どちらの品質も絶対的に
劣悪で、それらの間の相対的な優劣に大した意味はない。
そもそも針のように異様に細長い三角形が重箱の隅をつつくような話で、普通はそんな場合は
想定しなくても良く、ヘロンの公式で充分。そこを敢えてつつくなら、ヘロンの公式だけでなく
改良式もぼろが出てしまうだけ。
その通り。そして、(a, b, c) = (10000.1, 10000.2, 20000.3)とすれば、正しい面積は0なのに
Heron's Δ' = 2.69745899635295とAccurate Δ = 1.34872949817647は両方とも大間違いになる。
この場合のようにHeron's Δ'での問題がAccurate Δで改善されないだけでなく、>>331の引用の
場合のようにHeron's Δ'では結果的に問題ないのにAccurate Δでは新たな問題が生じてしまうのは、
参考文献の11ページで述べられた
An algorithm stood convicted of numerical instability if it could be replaced by
a new algorithm at least about as fast and accurate as the old for all data,
and good for all data for which the old algorithm was bad.
すべてのデータに対して旧アルゴリズムと少なくとも同じくらい高速かつ正確であり、
かつ旧アルゴリズムが悪くなるすべてのデータに対して良くなる新アルゴリズムによって
置き換えることができるとしたら、旧アルゴリズムは数値的に不安定と判定される。
という判定条件を満たさないから、Accurate Δは改良版としての適性を欠く。
>>333
その例では有効桁数がHeron's Δ'は0桁、Accurate Δは1桁しかなく、どちらの品質も絶対的に
劣悪で、それらの間の相対的な優劣に大した意味はない。
そもそも針のように異様に細長い三角形が重箱の隅をつつくような話で、普通はそんな場合は
想定しなくても良く、ヘロンの公式で充分。そこを敢えてつつくなら、ヘロンの公式だけでなく
改良式もぼろが出てしまうだけ。
335デフォルトの名無しさん
2024/04/18(木) 22:55:38.47ID:n9UdHBZN 総合すると有効桁じゃなくて精度が2桁良いし実装上は大差ないから改良版を使う、と言う方が自然では?
336デフォルトの名無しさん
2024/05/01(水) 12:56:47.83ID:nIC3qyB/ スレ落ちそうなのであげ
337デフォルトの名無しさん
2024/05/01(水) 15:39:17.16ID:hqp8cDbc >>336
嵐を呼び込むために・・・
嵐を呼び込むために・・・
338デフォルトの名無しさん
2024/05/01(水) 22:59:10.72ID:4hNncNW1 何でこんなに過疎化しちゃったのか。前に頻繁に出題していた人がいなくなったのか。
339デフォルトの名無しさん
2024/05/02(木) 10:32:38.87ID:ijoO2C2L お題を出してみてください
340デフォルトの名無しさん
2024/05/02(木) 16:59:52.63ID:DPVqLIsI341デフォルトの名無しさん
2024/05/02(木) 17:21:22.07ID:pg1ymc2D34217
2024/05/02(木) 18:44:04.16ID:LxBZq7I4 >>340
なるほど。それをやるか。
なるほど。それをやるか。
34317
2024/05/14(火) 05:34:03.62ID:ou5vbzLn じゃあ10年前のこのお題(URLを書くとNGになるようなので書かない)。
プログラミングのお題スレ Part4
115 :デフォルトの名無しさん:2014/06/21(土) 18:36:45.72 ID:/fMJIWig.net
お題:文字列Aを1回以上繰り返した文字列Bが与えられたとき
文字列Aを求める。ただしAの候補が複数ある場合は最短のものとする。
例
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> a
123412312341231234123123412312341231234123 -> 1234123
oxoxoxoxoxoxoxoxxoxoxoxoxoxoxoxoxx -> oxoxoxoxoxoxoxoxx
プログラミングのお題スレ Part4
115 :デフォルトの名無しさん:2014/06/21(土) 18:36:45.72 ID:/fMJIWig.net
お題:文字列Aを1回以上繰り返した文字列Bが与えられたとき
文字列Aを求める。ただしAの候補が複数ある場合は最短のものとする。
例
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -> a
123412312341231234123123412312341231234123 -> 1234123
oxoxoxoxoxoxoxoxxoxoxoxoxoxoxoxoxx -> oxoxoxoxoxoxoxoxx
344デフォルトの名無しさん
2024/05/14(火) 17:27:18.46ID:AXiunB2g ttps://ideone.com/KrUq7e
Z-algorithm を使って O(|B|) で解いてみた
Z-algorithm を使って O(|B|) で解いてみた
345 警備員[Lv.4][初]
2024/05/14(火) 20:59:46.84ID:xk+62xOP346 警備員[Lv.18]
2024/05/23(木) 14:16:50.64ID:zV267ZMC あれ?どんぐりの都合か?URL書いてあると書けなくなったような?
347 警備員[Lv.18]
2024/05/23(木) 14:17:56.56ID:zV267ZMC URLの先頭のhを抜いて書いてみよう。
>>343
Kotlin
こちらは普通に自作したやつ。
ttps://paiza.io/projects/OYy-A5rfKg7RqLzv-DKMIA
こちらは正規表現使ってとても小さくなったやつ。
ttps://paiza.io/projects/jgmtMRDhKfcjYfGAglEl3g
>>343
Kotlin
こちらは普通に自作したやつ。
ttps://paiza.io/projects/OYy-A5rfKg7RqLzv-DKMIA
こちらは正規表現使ってとても小さくなったやつ。
ttps://paiza.io/projects/jgmtMRDhKfcjYfGAglEl3g
348デフォルトの名無しさん
2024/06/01(土) 10:16:34.91ID:hzaQXY32 お題: コロン区切りの時分秒の時刻が与えられるので時分秒をそれぞれ掛け算した結果を表示せよ
例:
04:05:06
120
例:
04:05:06
120
349デフォルトの名無しさん
2024/06/01(土) 11:08:12.83ID:hzaQXY32 お題: バイト列が与えられる。先頭から解析した場合にバイトが1だったら次の4バイトを読み込んで整数として出力し、バイトが2だったら次のバイトを0が来るまで読み込んで文字列として出力せよ
入力
1 1 0 0 0 2 65 66 67 0 1 128 0 0 0
出力
1ABC128
入力
1 1 0 0 0 2 65 66 67 0 1 128 0 0 0
出力
1ABC128
350デフォルトの名無しさん
2024/06/01(土) 12:57:50.32ID:M5I0DyuF 知らんがな
351デフォルトの名無しさん
2024/06/01(土) 23:31:08.51ID:oEZc8FHN >>348
R
https://ideone.com/x4hIYG
>>349
C (データ識別子は1か2しかないものとし、整数のエンディアンは実行環境依存とする)
https://ideone.com/aJts6n
R
https://ideone.com/x4hIYG
>>349
C (データ識別子は1か2しかないものとし、整数のエンディアンは実行環境依存とする)
https://ideone.com/aJts6n
352 警備員[Lv.19]
2024/06/02(日) 04:45:03.04ID:yi3OE76t >>348
Perl
bash のコマンドラインから入力して実行(ワンライナー)
$ perl -ne 'if(/(\d+):(\d+):(\d+)/){print $1*$2*$3,"\n"}else{print"入力エラー\n"}'
1:2:3
6
3:4:5
60
04:05:06
120
$
Perl
bash のコマンドラインから入力して実行(ワンライナー)
$ perl -ne 'if(/(\d+):(\d+):(\d+)/){print $1*$2*$3,"\n"}else{print"入力エラー\n"}'
1:2:3
6
3:4:5
60
04:05:06
120
$
353 警備員[Lv.20]
2024/06/02(日) 05:19:02.45ID:yi3OE76t354デフォルトの名無しさん
2024/06/03(月) 13:25:02.42ID:21u+58W3 >>348
Windows のPowershell 上で、Ruby の1-liner を使う
末尾の改行を削除して、: で分割して、
文字列を数値型に変換してから、全ての要素を掛ける。
%Q で、ダブルクォーテーションをエスケープする。つまり、split(":")
echo '01:2:09' | ruby -ne 'puts $_.chomp.split(%Q[:]).map(&:to_i).inject(:*)'
18
Windows のPowershell 上で、Ruby の1-liner を使う
末尾の改行を削除して、: で分割して、
文字列を数値型に変換してから、全ての要素を掛ける。
%Q で、ダブルクォーテーションをエスケープする。つまり、split(":")
echo '01:2:09' | ruby -ne 'puts $_.chomp.split(%Q[:]).map(&:to_i).inject(:*)'
18
355デフォルトの名無しさん
2024/06/03(月) 15:28:01.42ID:p+D7Hh++ >ruby -ne 'p eval($_.gsub(":","*"))'
1:2:9
18
1:2:9
18
356デフォルトの名無しさん
2024/06/07(金) 06:27:47.87ID:ZJzD8UbY お題:引数sとnを取りシーザー暗号化を行う関数を作れ
sは平文、nはずらす文字数(負数可)、返り値は暗号化後の文字列
同様の関数で「Hello, World!」を暗号化し復号化せよ
sは平文、nはずらす文字数(負数可)、返り値は暗号化後の文字列
同様の関数で「Hello, World!」を暗号化し復号化せよ
357デフォルトの名無しさん
2024/06/07(金) 09:04:03.36ID:tQi+9x5m #! ruby
class String
def to_c(n)
if %r|^n|=~n
n=(n.sub(%r|^n|,"").to_i+26)%26
lb=("A".."Z").to_a.join
sb=("a".."z").to_a.join
la=lb[n..25]+lb[0..n-1]
sa=sb[n..25]+sb[0..n-1]
return self.tr(lb,la).tr(sb,sa)
else
return self
end
end
end
p "Hello,World!".to_c("n3") #=>"Khoor,Zruog!"
p "Hello,World!".to_c("n-5") #=>"Czggj,Rjmgy!"
p "Hello,World!".to_c("s") #=>"Hello,World!"
p "Khoor,Zruog!".to_c("n-3") #=>"Hello,World!"
p "Czggj,Rjmgy!".to_c("n5") #=>"Hello,World!"
class String
def to_c(n)
if %r|^n|=~n
n=(n.sub(%r|^n|,"").to_i+26)%26
lb=("A".."Z").to_a.join
sb=("a".."z").to_a.join
la=lb[n..25]+lb[0..n-1]
sa=sb[n..25]+sb[0..n-1]
return self.tr(lb,la).tr(sb,sa)
else
return self
end
end
end
p "Hello,World!".to_c("n3") #=>"Khoor,Zruog!"
p "Hello,World!".to_c("n-5") #=>"Czggj,Rjmgy!"
p "Hello,World!".to_c("s") #=>"Hello,World!"
p "Khoor,Zruog!".to_c("n-3") #=>"Hello,World!"
p "Czggj,Rjmgy!".to_c("n5") #=>"Hello,World!"
358デフォルトの名無しさん
2024/06/07(金) 09:04:13.66ID:tQi+9x5m #! ruby
class String
def to_c(n)
if %r|^n|=~n
n=(n.sub(%r|^n|,"").to_i+26)%26
lb=("A".."Z").to_a.join
sb=("a".."z").to_a.join
la=lb[n..25]+lb[0..n-1]
sa=sb[n..25]+sb[0..n-1]
return self.tr(lb,la).tr(sb,sa)
else
return self
end
end
end
p "Hello,World!".to_c("n3") #=>"Khoor,Zruog!"
p "Hello,World!".to_c("n-5") #=>"Czggj,Rjmgy!"
p "Hello,World!".to_c("s") #=>"Hello,World!"
p "Khoor,Zruog!".to_c("n-3") #=>"Hello,World!"
p "Czggj,Rjmgy!".to_c("n5") #=>"Hello,World!"
class String
def to_c(n)
if %r|^n|=~n
n=(n.sub(%r|^n|,"").to_i+26)%26
lb=("A".."Z").to_a.join
sb=("a".."z").to_a.join
la=lb[n..25]+lb[0..n-1]
sa=sb[n..25]+sb[0..n-1]
return self.tr(lb,la).tr(sb,sa)
else
return self
end
end
end
p "Hello,World!".to_c("n3") #=>"Khoor,Zruog!"
p "Hello,World!".to_c("n-5") #=>"Czggj,Rjmgy!"
p "Hello,World!".to_c("s") #=>"Hello,World!"
p "Khoor,Zruog!".to_c("n-3") #=>"Hello,World!"
p "Czggj,Rjmgy!".to_c("n5") #=>"Hello,World!"
359デフォルトの名無しさん
2024/06/07(金) 21:13:26.78ID:U/DqAKAj360デフォルトの名無しさん
2024/06/07(金) 23:24:01.54ID:KUK95Vnh Haskell
範囲外の数値は平文字をそのまま返すこととした。
import Data.Char
cearsar n |(-26) <= n && n <= 26 = map (f n)
where
f x = chr.(+x).ord
cearsar _ = cearsar 0
sample:
ghci> cearsar 50 "Hello, World!"
"Hello, World!"
ghci> cearsar 3 "Hello, World!"
"Khoor/#Zruog$"
ghci> cearsar (-3) "Khoor/#Zruog$"
"Hello, World!"
範囲外の数値は平文字をそのまま返すこととした。
import Data.Char
cearsar n |(-26) <= n && n <= 26 = map (f n)
where
f x = chr.(+x).ord
cearsar _ = cearsar 0
sample:
ghci> cearsar 50 "Hello, World!"
"Hello, World!"
ghci> cearsar 3 "Hello, World!"
"Khoor/#Zruog$"
ghci> cearsar (-3) "Khoor/#Zruog$"
"Hello, World!"
361デフォルトの名無しさん
2024/06/07(金) 23:28:58.71ID:KMptjexu TA = [ * ?\x20 .. ?\x7E ]
TS = TA.join
def caesar( s, n ) s.tr( TS, TA.rotate( n ).join ) end
s = "Hello, World!"
p caesar( s, 0 ) #=> "Hello, World!"
p caesar( s, 1 ) #=> "Ifmmp-!Xpsme\""
p caesar( s, -1 ) #=> "Gdkkn+~Vnqkc "
p caesar( s, 20240607 ) #=> "Jgnnq.\"Yqtnf#"
p caesar( caesar( s, 20240607 ), -20240607 ) #=> "Hello, World!"
p caesar( 'HAL9000', 1 ) #=> "IBM:111"
TS = TA.join
def caesar( s, n ) s.tr( TS, TA.rotate( n ).join ) end
s = "Hello, World!"
p caesar( s, 0 ) #=> "Hello, World!"
p caesar( s, 1 ) #=> "Ifmmp-!Xpsme\""
p caesar( s, -1 ) #=> "Gdkkn+~Vnqkc "
p caesar( s, 20240607 ) #=> "Jgnnq.\"Yqtnf#"
p caesar( caesar( s, 20240607 ), -20240607 ) #=> "Hello, World!"
p caesar( 'HAL9000', 1 ) #=> "IBM:111"
3639
2024/06/13(木) 14:34:57.00ID:XgNTPGgf >>349
> 「バイトが1だったら次の4バイトを読み込んで整数として出力し、」
正直、意味がわからんかった
例で見ると
1 1 0 0 0 → 1
1 128 0 0 0 → 128
ということだが
1に続く4バイトを加算して出力するって意味だったのかいな
> 「バイトが1だったら次の4バイトを読み込んで整数として出力し、」
正直、意味がわからんかった
例で見ると
1 1 0 0 0 → 1
1 128 0 0 0 → 128
ということだが
1に続く4バイトを加算して出力するって意味だったのかいな
364デフォルトの名無しさん
2024/06/13(木) 14:48:43.48ID:sldne70j >>363
整数が4バイト型という脳内補完だった
整数が4バイト型という脳内補完だった
365デフォルトの名無しさん
2024/06/13(木) 14:54:19.57ID:lNMgjwmg366デフォルトの名無しさん
2024/06/13(木) 14:59:03.73ID:fAZ1qthZ367デフォルトの名無しさん
2024/06/13(木) 15:00:51.22ID:lNMgjwmg3689
2024/06/13(木) 17:03:39.85ID:XgNTPGgf >>365
ああそういうことか「4バイトを読み込んで整数」と書いてあるのはそういう意味だったのか
ならわかるかも。
オレは4バイト一個一個が整数だと捉えて、それを「4バイトを読み込んで整数」とは何のこっちゃと?になってたわ
ああそういうことか「4バイトを読み込んで整数」と書いてあるのはそういう意味だったのか
ならわかるかも。
オレは4バイト一個一個が整数だと捉えて、それを「4バイトを読み込んで整数」とは何のこっちゃと?になってたわ
3699
2024/06/13(木) 17:07:01.55ID:XgNTPGgf すまんね68系で育ったもんですぐ連想できなんだ
370デフォルトの名無しさん
2024/06/14(金) 21:10:23.18ID:H7FTNa+g371デフォルトの名無しさん
2024/06/14(金) 21:15:46.04ID:cNkcubsv 例を示しての出題だから
372 警備員[Lv.23]
2024/06/15(土) 16:15:42.96ID:h/vMPGM+ >>356
Kotlin
面倒なのでASCIIコード(0x20-0x7e)でしかシフトしないやつを作った。
まあでも Kotlin は Java 同様に内部でUnicodeで扱っているので平仮名とか漢字とか全然違う言語の文字とかも比較的楽に追加できると思う。
https://paiza.io/projects/5H9H1zSjDnVshGCf4JaQJg
Kotlin
面倒なのでASCIIコード(0x20-0x7e)でしかシフトしないやつを作った。
まあでも Kotlin は Java 同様に内部でUnicodeで扱っているので平仮名とか漢字とか全然違う言語の文字とかも比較的楽に追加できると思う。
https://paiza.io/projects/5H9H1zSjDnVshGCf4JaQJg
373デフォルトの名無しさん
2024/06/19(水) 15:22:47.09ID:xfTENZQh374デフォルトの名無しさん
2024/06/20(木) 17:43:48.64ID:0f6ktMCR375デフォルトの名無しさん
2024/06/20(木) 20:17:47.11ID:0f6ktMCR376デフォルトの名無しさん
2024/06/21(金) 02:17:42.15ID:wIxdZD1d 迷路。やっつけで汚い。乱数自前
C
https://paiza.io/projects/5vyyygrG7exduzqDa-jBAA
Rust
https://paiza.io/projects/g1UmjFWydgmjAEZAgqS5xw
C
https://paiza.io/projects/5vyyygrG7exduzqDa-jBAA
Rust
https://paiza.io/projects/g1UmjFWydgmjAEZAgqS5xw
377デフォルトの名無しさん
2024/06/21(金) 05:01:41.33ID:wIxdZD1d378デフォルトの名無しさん
2024/07/26(金) 09:46:37.73ID:PcAUXe08 お題:配管サイズの「A呼称」「B呼称」の相互変換
tps://www.keyence.co.jp/ss/products/process/flowmeter/technique/size.jsp
などに掲載されている「A呼称」から「B呼称」への変換。及びその逆変換。
「A呼称」は整数値で(8とか)、「B呼称」は実数(0.125とか)または分母を8とする分数の分子(1とか)で表すものとする。
規格に存在しない場合(42Aとか)は考慮しなくてもよい。
表を引くだけなら簡単過ぎるので、ツェラーの公式の様な「技巧的」な解法を求む。
tps://www.keyence.co.jp/ss/products/process/flowmeter/technique/size.jsp
などに掲載されている「A呼称」から「B呼称」への変換。及びその逆変換。
「A呼称」は整数値で(8とか)、「B呼称」は実数(0.125とか)または分母を8とする分数の分子(1とか)で表すものとする。
規格に存在しない場合(42Aとか)は考慮しなくてもよい。
表を引くだけなら簡単過ぎるので、ツェラーの公式の様な「技巧的」な解法を求む。
379デフォルトの名無しさん
2024/07/27(土) 06:14:08.30ID:QMQQaL7S REM 呼称変換.bat
chcp 65001
ruby -x "%~f0"
ruby tmp.rb
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require 'base64'
st=<<'EOS'
IyFydWJ5CiNlbmNvZGluZzogdXRmLTgKRW5jb2RpbmcuZGVmYXVsdF9leHRl
cm5hbD0nVVRGLTgnCgpjbGFzcyBPYmplY3QKICBkZWYgdG9fZmwKICAgIHJl
dHVybiBldmFsKHNlbGYuc3BsaXQoIisiKS5tYXB7fGV8CiAgICAgIGUuc3Bs
aXQoIi8iKS5tYXB7fGZ8IGYudG9fZi50b19zfS4KICAgICAgam9pbigiLyIp
fS5qb2luKCIrIikpCiAgZW5kCmVuZAoKY2xhc3MgTnVtZXJpYwogIEBAYT1b
Niw4LDEwLDE1LDIwLDI1LDMyLDQwLDUwLDY1LAogICAgICA4MCw5MCwxMDAs
MTI1LDE1MCwxNzUsMjAwLDIyNV0KICBAQGI9WyIxLzgiLCIxLzQiLCIzLzgi
LCIxLzIiLCIzLzQiLCIxIiwKICAgICAgIjErMS80IiwiMSsxLzIiLCIyIiwi
MisxLzIiLCIzIiwKICAgICAgIjMrMS8yIiwiNCIsIjUiLCI2IiwiNyIsIjgi
LCI5Il0KICBAQGM9QEBiLm1hcHt8ZXwgZS50b19mbH0KICBkZWYgYV90b19i
CiAgICBuPXNlbGYKICAgIGlmIG48MjUwCiAgICAgIGE9NgogICAgICBAQGEu
ZWFjaHt8ZXwgYT1lIGlmIGUvbjw9MS4wfQogICAgICBiPUBAYltAQGEuaW5k
ZXgoYSldCiAgICAgIGM9QEBjW0BAYS5pbmRleChhKV0KICAgICAgcmV0dXJu
ICIoYT0je2F9KSBiPSN7Yn09I3tjfSIKICAgIGVsc2UKICAgICAgYT0obi81
MCkudG9faSo1MAogICAgICBiPWEvMjUKICAgICAgcmV0dXJuICIoYT0je2F9
chcp 65001
ruby -x "%~f0"
ruby tmp.rb
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require 'base64'
st=<<'EOS'
IyFydWJ5CiNlbmNvZGluZzogdXRmLTgKRW5jb2RpbmcuZGVmYXVsdF9leHRl
cm5hbD0nVVRGLTgnCgpjbGFzcyBPYmplY3QKICBkZWYgdG9fZmwKICAgIHJl
dHVybiBldmFsKHNlbGYuc3BsaXQoIisiKS5tYXB7fGV8CiAgICAgIGUuc3Bs
aXQoIi8iKS5tYXB7fGZ8IGYudG9fZi50b19zfS4KICAgICAgam9pbigiLyIp
fS5qb2luKCIrIikpCiAgZW5kCmVuZAoKY2xhc3MgTnVtZXJpYwogIEBAYT1b
Niw4LDEwLDE1LDIwLDI1LDMyLDQwLDUwLDY1LAogICAgICA4MCw5MCwxMDAs
MTI1LDE1MCwxNzUsMjAwLDIyNV0KICBAQGI9WyIxLzgiLCIxLzQiLCIzLzgi
LCIxLzIiLCIzLzQiLCIxIiwKICAgICAgIjErMS80IiwiMSsxLzIiLCIyIiwi
MisxLzIiLCIzIiwKICAgICAgIjMrMS8yIiwiNCIsIjUiLCI2IiwiNyIsIjgi
LCI5Il0KICBAQGM9QEBiLm1hcHt8ZXwgZS50b19mbH0KICBkZWYgYV90b19i
CiAgICBuPXNlbGYKICAgIGlmIG48MjUwCiAgICAgIGE9NgogICAgICBAQGEu
ZWFjaHt8ZXwgYT1lIGlmIGUvbjw9MS4wfQogICAgICBiPUBAYltAQGEuaW5k
ZXgoYSldCiAgICAgIGM9QEBjW0BAYS5pbmRleChhKV0KICAgICAgcmV0dXJu
ICIoYT0je2F9KSBiPSN7Yn09I3tjfSIKICAgIGVsc2UKICAgICAgYT0obi81
MCkudG9faSo1MAogICAgICBiPWEvMjUKICAgICAgcmV0dXJuICIoYT0je2F9
380デフォルトの名無しさん
2024/07/27(土) 06:15:03.76ID:QMQQaL7S KSBiPSN7Yn0iCiAgICBlbmQKICBlbmQKICBkZWYgYl90b19hCiAgICBuPXNl
bGYKICAgIGlmIG48MTAKICAgICAgYz0wLjEyNQogICAgICBAQGMuZWFjaHt8
ZXwgYz1lIGlmIGUvbjw9MS4wfQogICAgICBhPUBAYVtAQGMuaW5kZXgoYyld
CiAgICAgIGI9QEBiW0BAYy5pbmRleChjKV0KICAgICAgcmV0dXJuICIoYj0j
e2J9PSN7Y30pIGE9I3thfSIKICAgIGVsc2UKICAgICAgYj1uLnRvX2kKICAg
ICAgYT1iKjI1CiAgICAgIHJldHVybiAiKGI9I3tifSkgYT0je2F9IgogICAg
ZW5kCiAgZW5kCmVuZAoKd2hpbGUgMQogIGFyPVsi77yh5ZG856ew44GL44KJ
77yi5ZG856ewIiwi77yi5ZG856ew44GL44KJ77yh5ZG856ewIiwi57WC5LqG
Il0KICBtc2c9YXIubWFwLndpdGhfaW5kZXh7fGUsaXwiI3tpKzF9OiN7ZX0i
fS5qb2luKCJcbiIpKyJcbiIKICBwcmludCBtc2crImlucHV0IG51bWJlciA+
ICIKICBuPSRzdGRpbi5nZXRzLnRvX2kKICBicmVhayBpZiBuPT0zCiAgbmV4
dCBpZiBuPT0wCiAgd2hpbGUgMQogICAgcHJpbnQgIiN7YXJbbi0xXX06aW5w
dXQgdmFsdWUgPiAiCiAgICBtPSRzdGRpbi5nZXRzLmNob21wCiAgICBicmVh
ayBpZiBtPT0iIgogICAgbT1tLnRvX2ZsCiAgICBwdXRzIG0uYV90b19iIGlm
IG49PTEKICAgIHB1dHMgbS5iX3RvX2EgaWYgbj09MgogIGVuZAplbmQK
EOS
File.write("tmp.rb",Base64.decode64(st))
__END__
:end
bGYKICAgIGlmIG48MTAKICAgICAgYz0wLjEyNQogICAgICBAQGMuZWFjaHt8
ZXwgYz1lIGlmIGUvbjw9MS4wfQogICAgICBhPUBAYVtAQGMuaW5kZXgoYyld
CiAgICAgIGI9QEBiW0BAYy5pbmRleChjKV0KICAgICAgcmV0dXJuICIoYj0j
e2J9PSN7Y30pIGE9I3thfSIKICAgIGVsc2UKICAgICAgYj1uLnRvX2kKICAg
ICAgYT1iKjI1CiAgICAgIHJldHVybiAiKGI9I3tifSkgYT0je2F9IgogICAg
ZW5kCiAgZW5kCmVuZAoKd2hpbGUgMQogIGFyPVsi77yh5ZG856ew44GL44KJ
77yi5ZG856ewIiwi77yi5ZG856ew44GL44KJ77yh5ZG856ewIiwi57WC5LqG
Il0KICBtc2c9YXIubWFwLndpdGhfaW5kZXh7fGUsaXwiI3tpKzF9OiN7ZX0i
fS5qb2luKCJcbiIpKyJcbiIKICBwcmludCBtc2crImlucHV0IG51bWJlciA+
ICIKICBuPSRzdGRpbi5nZXRzLnRvX2kKICBicmVhayBpZiBuPT0zCiAgbmV4
dCBpZiBuPT0wCiAgd2hpbGUgMQogICAgcHJpbnQgIiN7YXJbbi0xXX06aW5w
dXQgdmFsdWUgPiAiCiAgICBtPSRzdGRpbi5nZXRzLmNob21wCiAgICBicmVh
ayBpZiBtPT0iIgogICAgbT1tLnRvX2ZsCiAgICBwdXRzIG0uYV90b19iIGlm
IG49PTEKICAgIHB1dHMgbS5iX3RvX2EgaWYgbj09MgogIGVuZAplbmQK
EOS
File.write("tmp.rb",Base64.decode64(st))
__END__
:end
381デフォルトの名無しさん
2024/07/30(火) 12:03:21.52ID:zP/xDheD お題
C言語のトライグラフ(可能ならダイグラフも)と普通のテキストとの相互変換。
ファイルまたは標準入力から読んで変換した結果を標準出力に出力する。
面倒なら文字列変換する関数とそれをテストするメイン関数のみでも良い。
C言語のトライグラフ(可能ならダイグラフも)と普通のテキストとの相互変換。
ファイルまたは標準入力から読んで変換した結果を標準出力に出力する。
面倒なら文字列変換する関数とそれをテストするメイン関数のみでも良い。
382 警備員[Lv.8]
2024/08/03(土) 07:16:23.70ID:HS6IEZQf お題
Unicode 文字列を UTF-9 へ変換する。また UTF-9 を Unicode 文字列に変換する。
ただし1バイトが9bitではないコンピュータを使用する場合は9bit以上で扱いやすいbit数の変数(例えば 16bitの変数)を代用して下9bitのみを使用する等しても良い。
UTF-9 の仕様は RFC 4042 を見るか、または下記URLのページを参照。
https://www.wdic.org/w/WDIC/UTF-9%20%28RFC%29
Unicode 文字列を UTF-9 へ変換する。また UTF-9 を Unicode 文字列に変換する。
ただし1バイトが9bitではないコンピュータを使用する場合は9bit以上で扱いやすいbit数の変数(例えば 16bitの変数)を代用して下9bitのみを使用する等しても良い。
UTF-9 の仕様は RFC 4042 を見るか、または下記URLのページを参照。
https://www.wdic.org/w/WDIC/UTF-9%20%28RFC%29
383 警備員[Lv.9]
2024/08/03(土) 17:38:42.19ID:HS6IEZQf >>381
Kotlin
Digraph, Trigraph の変換と逆変換
https://paiza.io/projects/FPUStm3O4tZZMYi1Cw2ruw
https://paiza.io/projects/4vD2Ux8Jd6EzLIynkzTXtw
Map と正規表現使った簡単な変換なので他の言語で作っても大差ないと思う。
Kotlin
Digraph, Trigraph の変換と逆変換
https://paiza.io/projects/FPUStm3O4tZZMYi1Cw2ruw
https://paiza.io/projects/4vD2Ux8Jd6EzLIynkzTXtw
Map と正規表現使った簡単な変換なので他の言語で作っても大差ないと思う。
384デフォルトの名無しさん
2024/08/03(土) 20:58:23.65ID:S2fEkJP0 お題
整数の格子がある(伝われ)
任意の2点間を線で結ぶ(座標成分は実数)
格子と交わるところで線を分割せよ
整数の格子がある(伝われ)
任意の2点間を線で結ぶ(座標成分は実数)
格子と交わるところで線を分割せよ
385デフォルトの名無しさん
2024/08/03(土) 21:19:51.17ID:VMb0ie+F >>384
jwwの外部変形としてこんな感じで交点で分割させるの作ったことあるけどプログラミングスレののお題としては座標指定もなく漠然としすぎていていかがなものか。ちょっと伝わんなかった。
jwwの外部変形としてこんな感じで交点で分割させるの作ったことあるけどプログラミングスレののお題としては座標指定もなく漠然としすぎていていかがなものか。ちょっと伝わんなかった。
386デフォルトの名無しさん
2024/08/03(土) 21:36:58.95ID:dM8NlTKR387デフォルトの名無しさん
2024/08/03(土) 21:50:20.46ID:VMb0ie+F >>386
二直線の交点は連立方程式を解けば良くて行列を使えば簡単だけど、どういう回答が求められてるのかが分からず途方に暮れております
二直線の交点は連立方程式を解けば良くて行列を使えば簡単だけど、どういう回答が求められてるのかが分からず途方に暮れております
388デフォルトの名無しさん
2024/08/03(土) 22:08:55.42ID:/AInVOhB >>386
出直し
出直し
389デフォルトの名無しさん
2024/08/03(土) 22:28:33.50ID:Dl6/uvrz クイズと「プログラミングのお題」との決定的な違い
検証するための入力(問題)と出力(解答)例が明記されているかどうか
検証するための入力(問題)と出力(解答)例が明記されているかどうか
390デフォルトの名無しさん
2024/08/03(土) 22:29:35.16ID:S2fEkJP0 テンプレに書いてなかったしいいやって思っちゃった
ここまで伝わらんもんなのか…
ここまで伝わらんもんなのか…
391デフォルトの名無しさん
2024/08/03(土) 22:35:56.24ID:S2fEkJP0 具体例を計算するのはめんどくさいけど、例えばさっきの絵で言えば右上が始点で左下が終点なら始点側から順番に座標を出力するとかね
392デフォルトの名無しさん
2024/08/03(土) 22:41:57.69ID:Dl6/uvrz393デフォルトの名無しさん
2024/08/03(土) 22:42:49.82ID:t4RpIT1N >>390
そういうことは伝える努力をしてから言おうな
そういうことは伝える努力をしてから言おうな
394デフォルトの名無しさん
2024/08/03(土) 22:44:30.36ID:S2fEkJP0 めんどくさい
そこまでして出そうと思わんから興味ないならスルーで
そこまでして出そうと思わんから興味ないならスルーで
395デフォルトの名無しさん
2024/08/03(土) 22:52:49.60ID:/AInVOhB この頭の悪さを見るに学校の課題か何かを丸投げしようとしてるのかな
396デフォルトの名無しさん
2024/08/03(土) 23:04:31.31ID:Dl6/uvrz 入出力例があると仕様が定まってプログラミングのお題が成立する
入出力例がないと宿題を手伝わせようとしているだけの可能性も否定できないね
入出力例がないと宿題を手伝わせようとしているだけの可能性も否定できないね
397デフォルトの名無しさん
2024/08/04(日) 00:49:43.30ID:iskScWib398デフォルトの名無しさん
2024/08/04(日) 04:51:29.74ID:9TVMMXOl399デフォルトの名無しさん
2024/08/09(金) 23:38:00.57ID:PnKZlDGe お題:与えられた線分を指定された長さLで分割せよ。ただし最後に余る分は長さLでなくてもよい。
線分([始点,終点])=[[0,0],[100,100]]
L=50
↓
[[[0,0],[50,50]],[[50,50],[100,100]]]
線分([始点,終点])=[[0,0],[100,100]]
L=50
↓
[[[0,0],[50,50]],[[50,50],[100,100]]]
400 警備員[Lv.7]
2024/08/10(土) 04:24:35.61ID:C1sXjWXk401デフォルトの名無しさん
2024/08/10(土) 08:05:08.91ID:cX2Nc5cZ ごめん、ミスった
402デフォルトの名無しさん
2024/08/10(土) 08:07:10.85ID:cX2Nc5cZ 修正
線分([始点,終点])=[[0,0],[120,0]]
L=50
↓
[[[0,0],[50,0]],[[50,0],[100,0]],[[100,0],[120,0]]]
線分([始点,終点])=[[0,0],[120,0]]
L=50
↓
[[[0,0],[50,0]],[[50,0],[100,0]],[[100,0],[120,0]]]
403デフォルトの名無しさん
2024/08/10(土) 08:54:23.54ID:DYGkQoQe REM 座標計算.bat
chcp 65001
ruby -x "%~f0"
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require "matrix"
while 1
print "input start point > " #0,0
p1=$stdin.gets.split(",").map{|e| e.to_f}
print "input end point > " #120,0
p2=$stdin.gets.split(",").map{|e| e.to_f}
print "input length > " #50
l=$stdin.gets.to_f
exit if l<=0
p1[1]=0 unless p1[1]
p2[1]=0 unless p2[1]
v1=Vector.elements(p1)
v2=Vector.elements(p2)
m=(v2-v1).r
n=(m/l).to_i
a=(0..n).map{|e| l*e}
b=a.map{|e| v1+(v2-v1)*(e/(v2-v1).r)}.map{|e| e.to_a}
b<<p2
p b.uniq
end
__END__
:end
chcp 65001
ruby -x "%~f0"
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require "matrix"
while 1
print "input start point > " #0,0
p1=$stdin.gets.split(",").map{|e| e.to_f}
print "input end point > " #120,0
p2=$stdin.gets.split(",").map{|e| e.to_f}
print "input length > " #50
l=$stdin.gets.to_f
exit if l<=0
p1[1]=0 unless p1[1]
p2[1]=0 unless p2[1]
v1=Vector.elements(p1)
v2=Vector.elements(p2)
m=(v2-v1).r
n=(m/l).to_i
a=(0..n).map{|e| l*e}
b=a.map{|e| v1+(v2-v1)*(e/(v2-v1).r)}.map{|e| e.to_a}
b<<p2
p b.uniq
end
__END__
:end
404デフォルトの名無しさん
2024/08/20(火) 15:28:18.45ID:YrWgN0+y お題:今日、または任意の日付から、もういくつ寝るとお正月かを求めよ。(昼寝は除く)
405デフォルトの名無しさん
2024/08/20(火) 18:03:45.73ID:UEEknM+z406デフォルトの名無しさん
2024/08/21(水) 11:05:18.96ID:kc5yLFga >>404
徹夜はどうしますか?
徹夜はどうしますか?
407 警備員[Lv.12]
2024/08/22(木) 08:01:35.77ID:dwyU9o+h >>404
bash のコマンドラインから expr コマンドと date コマンドを利用して次のようにして計算した。
実際に日数が経過後に1月1日になっているかの確認もした。
$ expr $( date -d '2024/12/31' +%j ) - $( date +%j ) + 1
132
$ date -d 'now +132 days'
2025年 1月 1日 水曜日 07:58:54 JST
$
bash のコマンドラインから expr コマンドと date コマンドを利用して次のようにして計算した。
実際に日数が経過後に1月1日になっているかの確認もした。
$ expr $( date -d '2024/12/31' +%j ) - $( date +%j ) + 1
132
$ date -d 'now +132 days'
2025年 1月 1日 水曜日 07:58:54 JST
$
408 警備員[Lv.12]
2024/08/22(木) 08:04:39.02ID:dwyU9o+h409デフォルトの名無しさん
2024/08/24(土) 01:28:41.99ID:Ou5o/VfJ ロケール設定なしとかジョークかよ
410デフォルトの名無しさん
2024/08/24(土) 07:25:49.23ID:/cWP8Umv こまけぇこたぁいいんだよ(AA略)
411デフォルトの名無しさん
2024/08/24(土) 23:36:40.04ID:/cWP8Umv てかこのお題で私、期間中にヨーロッパから帰国しますんでってな特殊ケースまで折り込めって方が無理に思えるけど、ロケール設定した模範解答をどぞ、
412デフォルトの名無しさん
2024/08/24(土) 23:58:49.15ID:D7M8BxWI せっかくだから、旧正月も考慮して
413デフォルトの名無しさん
2024/09/01(日) 04:58:12.84ID:sYmH1KkQ お題:複数の文字列が格納されている配列と配列の添字がある。標準入力からnextが入力されたら文字列を表示し添字を進め、prevが入力されたら文字列を表示して添字を戻す。添字が始点と終点に達したら始点は終点に、終点は始点に移動させる。動作は例に合うように実装せよ。
v = ["aaa","bbb","ccc"]
next
aaa
next
bbb
prev
aaa
next
bbb
next
ccc
next
aaa
v = ["aaa","bbb","ccc"]
next
aaa
next
bbb
prev
aaa
next
bbb
next
ccc
next
aaa
414デフォルトの名無しさん
2024/09/01(日) 08:19:39.59ID:MmIh9kGJ415デフォルトの名無しさん
2024/09/01(日) 11:51:46.92ID:Zfu0bsG/ >>413
REM nextprev.bat
ruby -x "%~f0"
exit
#~
#!ruby
#encoding: utf-8
i=0;v=["aaa","bbb","ccc"]
while 1
puts v[i]
print "input next or prev [n/p]> "
a=$stdin.gets.chomp
if ""==a
exit
elsif /^n/=~a
i=i+1
elsif /^p/=~a
i=i-1
end
i=(i+3)%3
end
REM nextprev.bat
ruby -x "%~f0"
exit
#~
#!ruby
#encoding: utf-8
i=0;v=["aaa","bbb","ccc"]
while 1
puts v[i]
print "input next or prev [n/p]> "
a=$stdin.gets.chomp
if ""==a
exit
elsif /^n/=~a
i=i+1
elsif /^p/=~a
i=i-1
end
i=(i+3)%3
end
416デフォルトの名無しさん
2024/09/03(火) 07:13:35.79ID:1bP400Ev お題
引数aから引数bまでの数列を返す関数がある。この関数を数列にゾロ目が含まれていた場合に空の数列を返すように実装せよ
引数aから引数bまでの数列を返す関数がある。この関数を数列にゾロ目が含まれていた場合に空の数列を返すように実装せよ
417デフォルトの名無しさん
2024/09/03(火) 07:56:47.18ID:Jxau6mSM418デフォルトの名無しさん
2024/09/03(火) 09:22:31.13ID:HQsZJT0t419デフォルトの名無しさん
2024/09/03(火) 10:00:07.45ID:VHciJKZC 417ではないが,clispかsbclをインストールすればいいよ.Windowsでもできるし,WSLならさらに簡単にできる
420デフォルトの名無しさん
2024/09/03(火) 10:17:03.41ID:HQsZJT0t421デフォルトの名無しさん
2024/09/03(火) 13:27:22.48ID:Jxau6mSM >>418
Windowsは不断使いしていないんで開発環境とかemacsとかはわからないけど、動かすだけなら
https://www.sbcl.org/platform-table.html からWindows版のSBCLインストーラーを落としてインストール
コマンドプロンプトなどのコマンド行で
sbcl --script ファイル名 とすると「ファイル名」のファイルをスクリプトとして実行します
--script を付けない場合REPLが起動します(Pythonでいうところの対話モード)
これの終了は (quit) と入力してEnterキー
Windowsは不断使いしていないんで開発環境とかemacsとかはわからないけど、動かすだけなら
https://www.sbcl.org/platform-table.html からWindows版のSBCLインストーラーを落としてインストール
コマンドプロンプトなどのコマンド行で
sbcl --script ファイル名 とすると「ファイル名」のファイルをスクリプトとして実行します
--script を付けない場合REPLが起動します(Pythonでいうところの対話モード)
これの終了は (quit) と入力してEnterキー
422デフォルトの名無しさん
2024/09/03(火) 13:38:16.60ID:Jxau6mSM ちょっと試すだけならウェブサービスを使う手も
Common Lispを動かせるオンラインコンパイラーサイト
https://rextester.com/l/common_lisp_online_compiler
https://www.jdoodle.com/execute-clisp-online
https://wandbox.org/
これらはideoneとは異なり "Share" とか "Save" とかをクリックしない限り保存・公開されない(はず)
Common Lispを動かせるオンラインコンパイラーサイト
https://rextester.com/l/common_lisp_online_compiler
https://www.jdoodle.com/execute-clisp-online
https://wandbox.org/
これらはideoneとは異なり "Share" とか "Save" とかをクリックしない限り保存・公開されない(はず)
423デフォルトの名無しさん
2024/09/03(火) 22:13:24.20ID:HQsZJT0t レス頂いた方、ありがとうございます
とりあえず>>422辺りで試してみます
とりあえず>>422辺りで試してみます
424デフォルトの名無しさん
2024/09/04(水) 03:34:25.27ID:k+9kMn3u REM zorome.bat
ruby -x "%~f0"
exit
#~
#!ruby
while 1
print "input a > "
a=$stdin.gets.chomp
exit if a==""
a=a.to_i
print "input b > "
b=$stdin.gets.to_i
ar=(a..b).to_a
z=0
ar.each{|e|
n=e.to_s.gsub(/^-/,"")
m=n.split("").uniq
if n.size>1 && m.size==1
z=1
break
end
}
ar=[] if z==1
p ar
end
__END__
a=0;b=10 => [0,1,2,3,4,5,6,7,8,9,10]
a=0;b=11 => []
ruby -x "%~f0"
exit
#~
#!ruby
while 1
print "input a > "
a=$stdin.gets.chomp
exit if a==""
a=a.to_i
print "input b > "
b=$stdin.gets.to_i
ar=(a..b).to_a
z=0
ar.each{|e|
n=e.to_s.gsub(/^-/,"")
m=n.split("").uniq
if n.size>1 && m.size==1
z=1
break
end
}
ar=[] if z==1
p ar
end
__END__
a=0;b=10 => [0,1,2,3,4,5,6,7,8,9,10]
a=0;b=11 => []
425デフォルトの名無しさん
2024/09/04(水) 06:34:37.52ID:FQ5fjJ2m >>416
fn is_zorome(n: i32) -> bool {
let s = n.abs().to_string();
let b = s.as_bytes();
if b.len() > 1 {
b[1..].iter().all(|&d| d == b[0])
} else {
false
}
}
fn odai(a: i32, b: i32) -> Vec<i32> {
if (a..=b).any(|n| is_zorome(n)) {
vec![]
} else {
(a..=b).collect()
}
}
fn main() {
assert_eq!(odai(1, 10), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
assert_eq!(odai(1, 11), []);
}
fn is_zorome(n: i32) -> bool {
let s = n.abs().to_string();
let b = s.as_bytes();
if b.len() > 1 {
b[1..].iter().all(|&d| d == b[0])
} else {
false
}
}
fn odai(a: i32, b: i32) -> Vec<i32> {
if (a..=b).any(|n| is_zorome(n)) {
vec![]
} else {
(a..=b).collect()
}
}
fn main() {
assert_eq!(odai(1, 10), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
assert_eq!(odai(1, 11), []);
}
426 警備員[Lv.7]
2024/09/29(日) 14:12:38.24ID:Sdg7KlJR >>416
Kotlin
(URL投稿禁止になってるようなので先頭の https:// は抜きで)。
paiza.io/projects/nPK7U1uDtt4b7O2saECP0A
[入力]タブの方で開始、終了の値を入れている。とりあえず 10 40 を入れてある。
一桁の数を指定した場合は全てゾロ目扱いになるので出力は空のリストになる。
Kotlin
(URL投稿禁止になってるようなので先頭の https:// は抜きで)。
paiza.io/projects/nPK7U1uDtt4b7O2saECP0A
[入力]タブの方で開始、終了の値を入れている。とりあえず 10 40 を入れてある。
一桁の数を指定した場合は全てゾロ目扱いになるので出力は空のリストになる。
427デフォルトの名無しさん
2024/10/08(火) 17:17:22.09ID:CS1PHEoT お題:文字列を中央寄せする関数を作れ。
関数は文字列、全体の横幅(整数)、余白を埋める文字、を引数に取る。横幅分の文字列を引数の文字で作成し、その中央に引数の文字列を埋め込み戻り値として返せ。
関数は文字列、全体の横幅(整数)、余白を埋める文字、を引数に取る。横幅分の文字列を引数の文字で作成し、その中央に引数の文字列を埋め込み戻り値として返せ。
428デフォルトの名無しさん
2024/10/08(火) 19:52:28.65ID:Rq2an05y py
text.center
text.center
429 警備員[Lv.12]
2024/10/09(水) 00:07:23.87ID:O5zCFPJO >>427
文字幅についてはどう考えれば良い?
エンコーディングが UTF-8 や UTF-16 だとバイト数や要素数が画面の表示幅と一致しないわけだが。
一致するような Shift-JIS だったとしても端末のフォント設定次第で表示幅が変わる。
文字幅についてはどう考えれば良い?
エンコーディングが UTF-8 や UTF-16 だとバイト数や要素数が画面の表示幅と一致しないわけだが。
一致するような Shift-JIS だったとしても端末のフォント設定次第で表示幅が変わる。
430デフォルトの名無しさん
2024/10/09(水) 00:38:16.24ID:j8RLE5Fj EUCにも半角2バイト文字なんてあったりする
431デフォルトの名無しさん
2024/10/09(水) 00:56:06.70ID:LtADXZKH asciiの前提では
全角判定関数は切り分けるべきだし
全角判定関数は切り分けるべきだし
432デフォルトの名無しさん
2024/10/09(水) 01:18:55.72ID:4B3K5XUV #ドラクエ3が超好きだったので、お題にしてみる。ただしロト3のファミコン版のドラクエな!w
"こちらの職業は勇者、戦士、空手家、僧侶、柔道家の5人がかりw
勇者から柔道家までの5人の攻撃回数が異なります。"まずは変数と確率の問題。
勇者=you戦士=sen,空手家=kara,僧侶=sou
まず勇者は1~2回攻撃、戦士は1~3回攻撃、空手は2~3回攻撃、柔道は足払いで相手を20%で麻痺させることができる。(1ターン何もできない)10%では超麻痺。(2ターン何も敵は動かない)
5%でクリティカルヒットの足払いで3ターン敵は何もできない。
柔道は敵に攻撃を加えられない分、足払いで相手を痙攣させる。
(勇者の1回分の攻撃は100〜200、20%の確率でクリティカルヒットの攻撃になることがある。
(戦士の攻撃は200〜300、20%の確率で攻撃がクリティカルヒット1回になることがある。
(空手家)空手家の攻撃は350〜500、ただし20%の確率で攻撃がクリティカルヒットとなるときがある。youはぞろ目(111とか222とか999まで)の場合はロトの剣を取得する。
攻撃回数無限で全てクリティカルヒットになります。
クリティカルヒットは攻撃力X2です。さてプログラムをやっていくか。"
*ただし、ロトの剣は勇者しか使えない。
”まずギルガメッシュっていう名前のenemy
ラスボスの名前はenemyとする。ボスのHPは5万。
ボスは基本的に何もしません、できません。これやるとさすがに面倒なのでw
基本的にボスは攻撃しません。(面倒だからw)
一方的になかまあつめてボコすw”
*ロトの剣で攻撃したら攻撃力が1.5倍あがります。*
**癒しの穂。食べたら防御力と賢さがあがります**
ロトの剣の出現条件は3並びで一つ食べることができます。
例えば111攻撃とか222攻撃とか333攻撃とか〜999まで。
次の発言からコードを書いていく。
ニーズあるか?
"こちらの職業は勇者、戦士、空手家、僧侶、柔道家の5人がかりw
勇者から柔道家までの5人の攻撃回数が異なります。"まずは変数と確率の問題。
勇者=you戦士=sen,空手家=kara,僧侶=sou
まず勇者は1~2回攻撃、戦士は1~3回攻撃、空手は2~3回攻撃、柔道は足払いで相手を20%で麻痺させることができる。(1ターン何もできない)10%では超麻痺。(2ターン何も敵は動かない)
5%でクリティカルヒットの足払いで3ターン敵は何もできない。
柔道は敵に攻撃を加えられない分、足払いで相手を痙攣させる。
(勇者の1回分の攻撃は100〜200、20%の確率でクリティカルヒットの攻撃になることがある。
(戦士の攻撃は200〜300、20%の確率で攻撃がクリティカルヒット1回になることがある。
(空手家)空手家の攻撃は350〜500、ただし20%の確率で攻撃がクリティカルヒットとなるときがある。youはぞろ目(111とか222とか999まで)の場合はロトの剣を取得する。
攻撃回数無限で全てクリティカルヒットになります。
クリティカルヒットは攻撃力X2です。さてプログラムをやっていくか。"
*ただし、ロトの剣は勇者しか使えない。
”まずギルガメッシュっていう名前のenemy
ラスボスの名前はenemyとする。ボスのHPは5万。
ボスは基本的に何もしません、できません。これやるとさすがに面倒なのでw
基本的にボスは攻撃しません。(面倒だからw)
一方的になかまあつめてボコすw”
*ロトの剣で攻撃したら攻撃力が1.5倍あがります。*
**癒しの穂。食べたら防御力と賢さがあがります**
ロトの剣の出現条件は3並びで一つ食べることができます。
例えば111攻撃とか222攻撃とか333攻撃とか〜999まで。
次の発言からコードを書いていく。
ニーズあるか?
433デフォルトの名無しさん
2024/10/09(水) 01:22:59.53ID:YvVjSPhZ プログラミングする以前に読むのが面倒くさい
レスを投稿する
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
