プログラミングのお題スレ Part22 (880レス)
上下前次1-新
307: 2024/03/10(日)11:20 ID:Doj9A/yB(1) AAS
>>306
すごすぎるだろ、日本の未来を頼む
308: 2024/03/10(日)19:06 ID:qBLPZ6x8(1) AAS
>>304
Rで全探索でなくちゃんと解くと
外部リンク:ideone.com
解が複数ある場合と全くない場合の例として、600円を540円と520円に変更したときの出力も載せた。
309(1): 2024/03/10(日)20:08 ID:6qxPF4Wx(1) AAS
2pass案は多少工夫したらかなり速い
n ␣␣m ␣296␣ ␣301-1 ␣301-2 ␣303␣ ␣2pass
5k␣␣5 ␣ 0.5s ␣ 0.1s ␣ 0.5s ␣ 0.4s ␣ 0.1s
25k ␣5 ␣12.7s ␣ 2.5s ␣13.9s ␣11.1s ␣ 1.7s
100k␣5 ␣3m52s ␣49.3s ␣4m13s ␣3m26s ␣38.9s
1M* ␣6 ␣8h23m ␣2h50m ␣8h51m ␣6h43m ␣1h11m
*n=100万は1万サンプルの部分ループ500k≦r<510kから100倍
>>301の296と301-2の比較記述と違う傾向があるのはキャッシュ階層の違いだと思う
2passは301-1に近いけど1pass目でのランダムアクセスサイズを落としながらも
誤判定率を低く抑える(0.2%~2%)工夫をするのがお楽しみだと思う
310: 2024/03/14(木)14:43 ID:ZraPd1+Q(1) AAS
t
311: 2024/03/27(水)23:42 ID:sRZ89+IF(1) AAS
>>304
a = (600, 580, 460)
m = min(a)
h = set()
def buy(b, yen):
if yen < m: return
for i in range(0, len(a)):
v = a[i]
if yen >= v:
b[i] += 1
省7
312: 2024/03/27(水)23:55 ID:qNf/D02g(1) AAS
>>304
Haskell
[(a, b, c) | a <- [0..20], b <- [0..20], c <- [0..20], a * 460 + b * 580 + c * 600 == 5360]
output: [(0,2,7),(4,4,2)]
313: 2024/03/28(木)00:00 ID:0Zoa9Vsx(1) AAS
合計10個という条件忘れてた。
[(a, b, c) | a <- [0..20], b <- [0..20], c <- [0..20], a + b + c == 10, a * 460 + b * 580 + c * 600 == 5360]
output: [(4,4,2)]
314: 2024/03/31(日)11:57 ID:enek7T1c(1/2) AAS
大幅に手直しした
特に前回数値が一部出てこない状態になっていたので色々と手動で最適化した
新しいアイディアを思いつかない限りはシングルスレッドでの限界に近いと思う
n m 301-1 303 2pass 2pass'
5k 5 0.1s 0.4s 0.1s 0.1s
25k 5 2.5s 11.1s 2.3s* 1.7s
100k 5 49.3s 3m26s 38.9s 27.7s
1M* 6 2h50m 6h43m 1h11m 48m10s
2M* 6 17h06m 28h27m 5h47m 3h13m
Max* 6 35h51m 51h23m 11h09m 5h47m
省11
315: 2024/03/31(日)11:58 ID:enek7T1c(2/2) AAS
n D1 D2 D3 = 25000 25003 25005 25006
false_positive = 171 / 25003 = 0.68%
total_t_pass1 = 1654.681 ms 2.647 ns/iter
total_t_pass2 = 1.407 ms 0.329 ns/iter
real 0m1.709s
false_positive = 2211 / 100005 = 2.21%
total_t_pass1 = 27338.298 ms 2.734 ns/iter
total_t_pass2 = 78.402 ms 0.355 ns/iter
real 0m27.692s
n D1 D2 D3 = 1000000 1000002 1000009 1000015
省14
316: 2024/03/31(日)22:30 ID:4FIGx2uN(1) AAS
>>304
ぶっちゃけ、他の言語の人と同じっぽくないので心配なんだが…。
自分なりにHaskellで全探索じゃないバージョン書いてみた。
Haskell
[(a, b, c) | a <- [0..10], b <- [0..10 - a], c <- [0..10 - (a + b)], a * 460 + b * 580 + c * 600 == 5360, a + b + c == 10]
答えは同じ[(4,4,2)]。
317: 2024/04/01(月)04:52 ID:iTC1bSa8(1) AAS
少し一般化して、N個の商品があり、i番目の商品はA_i円です
合計M個購入し、価格の合計がS円であるような購入の仕方を998244353で割った余りを求めてください
だとO(N M S)より小さい計算量で解けるのかな
318: 2024/04/01(月)16:50 ID:0Kkx57P3(1) AAS
2個、4個、8個…みたいにメモ化すればMはlogMにできるかもしれんね
空間がlogM倍されそうだが
319(2): 2024/04/13(土)11:43 ID:itq2kjOw(1) AAS
ヘロンの公式を実装せよ
使用言語:C
320: 17 2024/04/13(土)16:57 ID:SxW/5mRR(1) AAS
>>319
外部リンク:paiza.io
Wikipedia でヘロンの公式を調べてそのまま実装しただけで、ほとんど何も考えてない。
321(3): 2024/04/13(土)23:01 ID:wFZkrOeZ(1) AAS
>>319
外部リンク:ideone.com
ヘロンが作ったもう1つの式である平方根を加算と除算の繰り返しで求める式も使用。
sqrt関数を呼び出すより実行形式ファイルサイズがほんの少しだけ小さくなる。
322(1): 2024/04/14(日)00:59 ID:ujzJ2+0Y(1) AAS
>>321
無限ループにならない?
機械イプシロン(DBL_EPSILON)とか気になる
323: 2024/04/14(日)18:34 ID:MHeAinLP(1/2) AAS
解答例
#include <stdio.h>
#include <math.h>
void heron(double, double, double);
int main(void)
{
double a, b, c;
printf("3辺a, b, cを入力せよ ");
scanf("%lf,%lf,%lf", &a, &b, &c);
heron(a, b, c);
省9
324: 2024/04/14(日)18:36 ID:MHeAinLP(2/2) AAS
>>321 さすがですね
325(1): 2024/04/15(月)21:01 ID:dSNEYg5r(1) AAS
>>322
p < 0 のとき(= 三角形を作れない場合)は浮動小数点数の特性に関係なく無限ループになる。
sqrt(p) と同様にNANを返すには、if (p < 0) return 0 / (p - p); を追加すれば良い。
p > 0 のときは無限ループにならないはず。以下が検証プログラム。
外部リンク:ideone.com
x = sqrt(p), y = p / x とすると、浮動小数点数の特性により x == y とならない場合は存在する。
このとき、xとyの仮数部を整数と見なした値(以降では「仮数整数」と呼ぶ)の差は1なので、
z = (x + y) / 2 はxとyのうち仮数整数が偶数の方に一致する。zを新たなxとして代入しyとzを
再計算すれば、今度はxの仮数整数が偶数なのでzはxに必ず一致し、>>321の収束判定条件が成立する。
具体例で見ると、p = 2 のときはxの仮数整数が奇数なので x != z となるが、zを新たなxとして代入し
省2
326: 2024/04/15(月)22:06 ID:MxMoolaJ(1) AAS
>>325
解説ありがとう
俺には理解できないレベルだと分かりましたw
俺なら収束の自信が無くてDBL_EPSILONを使った判定と
ループ回数上限を組み合わせて実装しそうだ
327(2): 2024/04/17(水)05:47 ID:F2fqxIYT(1/2) AAS
ヘロンの公式はそのままだと、数値計算での安定性が良くないらしいぞ
解決策は、Wikipediaの英語版の方に…
外部リンク:en.wikipedia.org
328: 327 2024/04/17(水)05:52 ID:F2fqxIYT(2/2) AAS
そしてこんなとこでもカハンせんせーの名前がが
329: 2024/04/17(水)16:28 ID:7JRzlbtx(1) AAS
の長さ
この公式で計算される面積は、理論的には正しい値です。しかし、実際には、以下の理由で誤差が生じる可能性があります。
数値計算の誤差: 計算機で数値を扱う場合、有限桁しか扱えないため、丸め誤差が生じます。特に、辺の長さの値が大きく異なる三角形の場合、この誤差が顕著になります。
四捨五入誤差: 計算結果を小数点以下n桁まで表示する場合、n桁目以降の数字を切り捨てます。この四捨五入誤差も、面積の誤差に影響を与えます。
by Gemini
330: 2024/04/17(水)23:38 ID:k4k/eSae(1) AAS
>>327に載っている参考文献
William M. Kahan, ‘Miscalculating Area and Angles of a Needle-like Triangle’
外部リンク[pdf]:www.cs.berkeley.edu
のTable 1の問題がパソコン等でのC++プログラムでも再現されるか試してみた。
外部リンク:ideone.com
Table 1とは違い、Accurate Δが概ね正確な場合にHeron's Δ'が大きく懸け離れた不正確な値に
なってしまうことはなく、ほぼ同じ値になり差はごく僅かしかない。Table 1のような不安定性は
Table 1の計算に使われたプログラマブル関数電卓に特有の問題で、パソコン等のプログラムでは
再現されない。(パソコン等のdoubleの方が精度が高いので当然と言えば当然だが)
一方、(a, b, c) = (5278.64055, 94721.35941, 99999.99996)の場合は、逆にHeron's Δ' = 0が
省10
331(2): 2024/04/18(木)07:16 ID:8T8m8Yde(1) AAS
>(a, b, c) = (5278.64055, 94721.35941, 99999.99996)
>c - (a - b)が正確には0なのに3.63797880709171e-12と計算されてしまい
この例に限らず、たいていの場合a,b,cはdoubleでexactに格納されて無くて
この例では「c - (a - b)が正確には0」なのをチョイスしただけでは?
332: 2024/04/18(木)07:30 ID:PYBA8OB3(1/2) AAS
パソロジカルな三角形をパラメトライズして面積を積分する検証はどう?
数式計算での正確な値
Heronで面積計算した時の数値積分
Accurateで面積計算した時の数値積分
を比べるのがフェアかなぁと
333(1): 2024/04/18(木)07:34 ID:PYBA8OB3(2/2) AAS
> 200ビットで計算したほぼ正確な値3.27490470056059e-07
この例だけ見るとAccurate Δの方が優れているように見えるので
>>331の様なチェリーピックはどちらの計算式でも出来るので平均的に近似が近い方が精度的に優れているかと
334: 2024/04/18(木)22:41 ID:y7NBfn6/(1) AAS
>>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.
すべてのデータに対して旧アルゴリズムと少なくとも同じくらい高速かつ正確であり、
省9
335: 2024/04/18(木)22:55 ID:n9UdHBZN(1) AAS
総合すると有効桁じゃなくて精度が2桁良いし実装上は大差ないから改良版を使う、と言う方が自然では?
336(1): 2024/05/01(水)12:56 ID:nIC3qyB/(1) AAS
スレ落ちそうなのであげ
337: 2024/05/01(水)15:39 ID:hqp8cDbc(1) AAS
>>336
嵐を呼び込むために・・・
338(1): 2024/05/01(水)22:59 ID:4hNncNW1(1) AAS
何でこんなに過疎化しちゃったのか。前に頻繁に出題していた人がいなくなったのか。
339: 2024/05/02(木)10:32 ID:ijoO2C2L(1) AAS
お題を出してみてください
340(1): 2024/05/02(木)16:59 ID:DPVqLIsI(1) AAS
>>338
お題が出尽くしたってことはあるんじゃないか?
過去のお題拾ってきてそれを投稿すればいいぐらいまでスレが成熟してしまったのでは?
341: 2024/05/02(木)17:21 ID:pg1ymc2D(1) AAS
PC買って、脱衣AIで遊びまくってる「
一日一回無料で使えるみたい「
2chスレ:gymnastics
342: 17 2024/05/02(木)18:44 ID:LxBZq7I4(1) AAS
>>340
なるほど。それをやるか。
343(3): 17 2024/05/14(火)05:34 ID:ou5vbzLn(1) AAS
じゃあ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
344: 2024/05/14(火)17:27 ID:AXiunB2g(1) AAS
外部リンク:ideone.com
Z-algorithm を使って O(|B|) で解いてみた
345: 警備員[Lv.4][初] 2024/05/14(火)20:59 ID:xk+62xOP(1) AAS
>>343
R
外部リンク:ideone.com
C
外部リンク:ideone.com
346: 警備員[Lv.18] 2024/05/23(木)14:16 ID:zV267ZMC(1/2) AAS
あれ?どんぐりの都合か?URL書いてあると書けなくなったような?
347: 警備員[Lv.18] 2024/05/23(木)14:17 ID:zV267ZMC(2/2) AAS
URLの先頭のhを抜いて書いてみよう。
>>343
Kotlin
こちらは普通に自作したやつ。
外部リンク:paiza.io
こちらは正規表現使ってとても小さくなったやつ。
外部リンク:paiza.io
348(5): 2024/06/01(土)10:16 ID:hzaQXY32(1/2) AAS
お題: コロン区切りの時分秒の時刻が与えられるので時分秒をそれぞれ掛け算した結果を表示せよ
例:
04:05:06
120
349(4): 2024/06/01(土)11:08 ID:hzaQXY32(2/2) AAS
お題: バイト列が与えられる。先頭から解析した場合にバイトが1だったら次の4バイトを読み込んで整数として出力し、バイトが2だったら次のバイトを0が来るまで読み込んで文字列として出力せよ
入力
1 1 0 0 0 2 65 66 67 0 1 128 0 0 0
出力
1ABC128
350: 2024/06/01(土)12:57 ID:M5I0DyuF(1) AAS
知らんがな
351: 2024/06/01(土)23:31 ID:oEZc8FHN(1) AAS
>>348
R
外部リンク:ideone.com
>>349
C (データ識別子は1か2しかないものとし、整数のエンディアンは実行環境依存とする)
外部リンク:ideone.com
352: 警備員[Lv.19] 2024/06/02(日)04:45 ID:yi3OE76t(1/2) AAS
>>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
省1
353: 警備員[Lv.20] 2024/06/02(日)05:19 ID:yi3OE76t(2/2) AAS
>>349
Kotlin
外部リンク:paiza.io
354: 2024/06/03(月)13:25 ID:21u+58W3(1) AAS
>>348
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 ID:p+D7Hh++(1) AAS
>ruby -ne 'p eval($_.gsub(":","*"))'
1:2:9
18
356(3): 2024/06/07(金)06:27 ID:ZJzD8UbY(1) AAS
お題:引数sとnを取りシーザー暗号化を行う関数を作れ
sは平文、nはずらす文字数(負数可)、返り値は暗号化後の文字列
同様の関数で「Hello, World!」を暗号化し復号化せよ
357: 2024/06/07(金)09:04 ID:tQi+9x5m(1/2) AAS
#! 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)
省10
358: 2024/06/07(金)09:04 ID:tQi+9x5m(2/2) AAS
#! 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)
省10
359: 2024/06/07(金)21:13 ID:U/DqAKAj(1) AAS
>>356
R
外部リンク:ideone.com
360: 2024/06/07(金)23:24 ID:KUK95Vnh(1) AAS
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!"
省4
361: 2024/06/07(金)23:28 ID:KMptjexu(1) AAS
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"
362: 9 2024/06/11(火)14:41 ID:NjINqn/m(1) AAS
>>348 Perl5
($x = '04:05:06') =~ s/:/*/g;
print eval $x;
363(3): 9 2024/06/13(木)14:34 ID:XgNTPGgf(1/3) AAS
>>349
> 「バイトが1だったら次の4バイトを読み込んで整数として出力し、」
正直、意味がわからんかった
例で見ると
1 1 0 0 0 → 1
1 128 0 0 0 → 128
ということだが
1に続く4バイトを加算して出力するって意味だったのかいな
364: 2024/06/13(木)14:48 ID:sldne70j(1) AAS
>>363
整数が4バイト型という脳内補完だった
365(2): 2024/06/13(木)14:54 ID:lNMgjwmg(1/2) AAS
>>363
出題者がエンディアンを知らなくて説明もなくリトル環境を前提にしてしまっている
エンディアンを知っている人たちは出題には書かれてないけど例よりリトル前提だと読み取ってこたえている
366(1): 2024/06/13(木)14:59 ID:fAZ1qthZ(1) AAS
>>365
リトルエンディアンはビットが逆って事じゃ無いぞ
10 00なら
00 10だぞ
367(1): 2024/06/13(木)15:00 ID:lNMgjwmg(2/2) AAS
>>366
例>>363を見てないのか?
368: 9 2024/06/13(木)17:03 ID:XgNTPGgf(2/3) AAS
>>365
ああそういうことか「4バイトを読み込んで整数」と書いてあるのはそういう意味だったのか
ならわかるかも。
オレは4バイト一個一個が整数だと捉えて、それを「4バイトを読み込んで整数」とは何のこっちゃと?になってたわ
369: 9 2024/06/13(木)17:07 ID:XgNTPGgf(3/3) AAS
すまんね68系で育ったもんですぐ連想できなんだ
370: 2024/06/14(金)21:10 ID:H7FTNa+g(1) AAS
>>367
例が間違えてるか説明が足りて無い
要は4バイトを読み込んでと説明してるが「一気に4バイト読み込む」とおかしくなる
1バイトずつ順に4バイトを読み込んでという説明なら例が腑に落ちる
371: 2024/06/14(金)21:15 ID:cNkcubsv(1) AAS
例を示しての出題だから
372: 警備員[Lv.23] 2024/06/15(土)16:15 ID:h/vMPGM+(1) AAS
>>356
Kotlin
面倒なのでASCIIコード(0x20-0x7e)でしかシフトしないやつを作った。
まあでも Kotlin は Java 同様に内部でUnicodeで扱っているので平仮名とか漢字とか全然違う言語の文字とかも比較的楽に追加できると思う。
外部リンク:paiza.io
373: 2024/06/19(水)15:22 ID:xfTENZQh(1) AAS
>>348 awk
外部リンク:ideone.com
374: 2024/06/20(木)17:43 ID:0f6ktMCR(1/2) AAS
お題:迷路生成を様々な言語で
例:
C
外部リンク:ideone.com
375: 2024/06/20(木)20:17 ID:0f6ktMCR(2/2) AAS
外部リンク:paiza.io
376: 2024/06/21(金)02:17 ID:wIxdZD1d(1/2) AAS
迷路。やっつけで汚い。乱数自前
C
外部リンク:paiza.io
Rust
外部リンク:paiza.io
377: 2024/06/21(金)05:01 ID:wIxdZD1d(2/2) AAS
乱数改良
C
外部リンク:paiza.io
Rust
外部リンク:paiza.io
378: 2024/07/26(金)09:46 ID:PcAUXe08(1) AAS
お題:配管サイズの「A呼称」「B呼称」の相互変換
外部リンク[jsp]:www.keyence.co.jp
などに掲載されている「A呼称」から「B呼称」への変換。及びその逆変換。
「A呼称」は整数値で(8とか)、「B呼称」は実数(0.125とか)または分母を8とする分数の分子(1とか)で表すものとする。
規格に存在しない場合(42Aとか)は考慮しなくてもよい。
表を引くだけなら簡単過ぎるので、ツェラーの公式の様な「技巧的」な解法を求む。
379: 2024/07/27(土)06:14 ID:QMQQaL7S(1/2) AAS
REM 呼称変換.bat
chcp 65001
ruby -x "%~f0"
ruby tmp.rb
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require 'base64'
省16
380: 2024/07/27(土)06:15 ID:QMQQaL7S(2/2) AAS
KSBiPSN7Yn0iCiAgICBlbmQKICBlbmQKICBkZWYgYl90b19hCiAgICBuPXNl
bGYKICAgIGlmIG48MTAKICAgICAgYz0wLjEyNQogICAgICBAQGMuZWFjaHt8
ZXwgYz1lIGlmIGUvbjw9MS4wfQogICAgICBhPUBAYVtAQGMuaW5kZXgoYyld
CiAgICAgIGI9QEBiW0BAYy5pbmRleChjKV0KICAgICAgcmV0dXJuICIoYj0j
e2J9PSN7Y30pIGE9I3thfSIKICAgIGVsc2UKICAgICAgYj1uLnRvX2kKICAg
ICAgYT1iKjI1CiAgICAgIHJldHVybiAiKGI9I3tifSkgYT0je2F9IgogICAg
ZW5kCiAgZW5kCmVuZAoKd2hpbGUgMQogIGFyPVsi77yh5ZG856ew44GL44KJ
77yi5ZG856ewIiwi77yi5ZG856ew44GL44KJ77yh5ZG856ewIiwi57WC5LqG
Il0KICBtc2c9YXIubWFwLndpdGhfaW5kZXh7fGUsaXwiI3tpKzF9OiN7ZX0i
fS5qb2luKCJcbiIpKyJcbiIKICBwcmludCBtc2crImlucHV0IG51bWJlciA+
省9
381(2): 2024/07/30(火)12:03 ID:zP/xDheD(1) AAS
お題
C言語のトライグラフ(可能ならダイグラフも)と普通のテキストとの相互変換。
ファイルまたは標準入力から読んで変換した結果を標準出力に出力する。
面倒なら文字列変換する関数とそれをテストするメイン関数のみでも良い。
382(1): 警備員[Lv.8] 2024/08/03(土)07:16 ID:HS6IEZQf(1/2) AAS
お題
Unicode 文字列を UTF-9 へ変換する。また UTF-9 を Unicode 文字列に変換する。
ただし1バイトが9bitではないコンピュータを使用する場合は9bit以上で扱いやすいbit数の変数(例えば 16bitの変数)を代用して下9bitのみを使用する等しても良い。
UTF-9 の仕様は RFC 4042 を見るか、または下記URLのページを参照。
外部リンク:www.wdic.org
383: 警備員[Lv.9] 2024/08/03(土)17:38 ID:HS6IEZQf(2/2) AAS
>>381
Kotlin
Digraph, Trigraph の変換と逆変換
外部リンク:paiza.io
外部リンク:paiza.io
Map と正規表現使った簡単な変換なので他の言語で作っても大差ないと思う。
384(2): 2024/08/03(土)20:58 ID:S2fEkJP0(1/4) AAS
お題
整数の格子がある(伝われ)
任意の2点間を線で結ぶ(座標成分は実数)
格子と交わるところで線を分割せよ
BEアイコン:23qe8.png
385: 2024/08/03(土)21:19 ID:VMb0ie+F(1/2) AAS
>>384
jwwの外部変形としてこんな感じで交点で分割させるの作ったことあるけどプログラミングスレののお題としては座標指定もなく漠然としすぎていていかがなものか。ちょっと伝わんなかった。
386(2): 2024/08/03(土)21:36 ID:dM8NlTKR(1) AAS
ごめん、画像から察してほしい
遊びだから曖昧なところは適当で
画像リンク[png]:i.imgur.com
387: 2024/08/03(土)21:50 ID:VMb0ie+F(2/2) AAS
>>386
二直線の交点は連立方程式を解けば良くて行列を使えば簡単だけど、どういう回答が求められてるのかが分からず途方に暮れております
388: 2024/08/03(土)22:08 ID:/AInVOhB(1/2) AAS
>>386
出直し
389: 2024/08/03(土)22:28 ID:Dl6/uvrz(1/3) AAS
クイズと「プログラミングのお題」との決定的な違い
検証するための入力(問題)と出力(解答)例が明記されているかどうか
390(1): 2024/08/03(土)22:29 ID:S2fEkJP0(2/4) AAS
テンプレに書いてなかったしいいやって思っちゃった
ここまで伝わらんもんなのか…
391: 2024/08/03(土)22:35 ID:S2fEkJP0(3/4) AAS
具体例を計算するのはめんどくさいけど、例えばさっきの絵で言えば右上が始点で左下が終点なら始点側から順番に座標を出力するとかね
392: 2024/08/03(土)22:41 ID:Dl6/uvrz(2/3) AAS
入力例とその時の出力例を
データとして数種類用意すればOK
例えば>>234とか>>343を参考
393: 2024/08/03(土)22:42 ID:t4RpIT1N(1) AAS
>>390
そういうことは伝える努力をしてから言おうな
394(1): 2024/08/03(土)22:44 ID:S2fEkJP0(4/4) AAS
めんどくさい
そこまでして出そうと思わんから興味ないならスルーで
395: 2024/08/03(土)22:52 ID:/AInVOhB(2/2) AAS
この頭の悪さを見るに学校の課題か何かを丸投げしようとしてるのかな
396: 2024/08/03(土)23:04 ID:Dl6/uvrz(3/3) AAS
入出力例があると仕様が定まってプログラミングのお題が成立する
入出力例がないと宿題を手伝わせようとしているだけの可能性も否定できないね
397: 2024/08/04(日)00:49 ID:iskScWib(1) AAS
>>394
ドンマイ、出題の意図は分かった気がするので改めて出題
お題
10mm方眼用紙、左下原点、入力された任意の直線と方眼線との交点を求めよ
(例)始点(3.5,5.2)終点(6.3,8.1)
398: 2024/08/04(日)04:51 ID:9TVMMXOl(1) AAS
>>384
nodejs
外部リンク:www.mycompiler.io
399(1): 2024/08/09(金)23:38 ID:PnKZlDGe(1) AAS
お題:与えられた線分を指定された長さLで分割せよ。ただし最後に余る分は長さLでなくてもよい。
線分([始点,終点])=[[0,0],[100,100]]
L=50
↓
[[[0,0],[50,50]],[[50,50],[100,100]]]
400: 警備員[Lv.7] 2024/08/10(土)04:24 ID:C1sXjWXk(1) AAS
>>399
その例おかしくない?それか問題がおかしいか。
長さがLということはx=yの線を分割する場合は座標はx, y 共にL/√2倍にならないか?
401: 2024/08/10(土)08:05 ID:cX2Nc5cZ(1/2) AAS
ごめん、ミスった
402: 2024/08/10(土)08:07 ID:cX2Nc5cZ(2/2) AAS
修正
線分([始点,終点])=[[0,0],[120,0]]
L=50
↓
[[[0,0],[50,0]],[[50,0],[100,0]],[[100,0],[120,0]]]
403: 2024/08/10(土)08:54 ID:DYGkQoQe(1) AAS
REM 座標計算.bat
chcp 65001
ruby -x "%~f0"
goto end
#~
#!ruby
#encoding: utf-8
Encoding.default_external='UTF-8'
require "matrix"
while 1
省20
404(3): 2024/08/20(火)15:28 ID:YrWgN0+y(1) AAS
お題:今日、または任意の日付から、もういくつ寝るとお正月かを求めよ。(昼寝は除く)
405: 2024/08/20(火)18:03 ID:UEEknM+z(1) AAS
>>404 lisp
外部リンク:ideone.com
406: 2024/08/21(水)11:05 ID:kc5yLFga(1) AAS
>>404
徹夜はどうしますか?
上下前次1-新書関写板覧索設栞歴
あと 474 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s