プログラミングのお題スレ Part22 (854レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
241
(1): 9 [sage] 2024/02/16(金) 02:56:10.41 ID:7jtCAGu+(1/2) AAS
>>234
234(27): デフォルトの名無しさん [sage] 2024/02/14(水) 09:32:06.19 ID:JjlrBdlD(1) AAS
お題:数値が入力されるのでその数値に最も近い回分数を出力せよ
回分数とは回分になっている数(負数含まず)のことである
最も近い回分数が2つある場合は2つとも出力せよ

入力 0
出力 0

入力 17
出力 22

入力 100
出力 99
出力 101
Perl5

for $n (0,17,100,123459321) {
 my %a;
 for (0..$n) {
  $i = $n - $_;
  $a{$i} = $i if 0 <= $i and $i =~ /^((\d)(?1)\2|\d?)$/;
  $j = $n + $_;
  $a{$j} = $j if $j =~ /^((\d)(?1)\2|\d?)$/;
  last if keys %a;
 }
 @a = keys %a;
 print "$n -> @a\n";
}

※見やすくするためインデントを全角スペースに置換してあります。

実行結果

$ perl 22_234_palindromic_number.pl
0 -> 0
17 -> 22
100 -> 99 101
123459321 -> 123464321 123454321
325
(1): デフォルトの名無しさん [] 2024/04/15(月) 21:01:04.41 ID:dSNEYg5r(1) AAS
>>322
322(1): デフォルトの名無しさん [sage] 2024/04/14(日) 00:59:32.83 ID:ujzJ2+0Y(1) AAS
>>321
無限ループにならない?
機械イプシロン(DBL_EPSILON)とか気になる
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
321(3): デフォルトの名無しさん [] 2024/04/13(土) 23:01:22.75 ID:wFZkrOeZ(1) AAS
>>319
外部リンク:ideone.com
ヘロンが作ったもう1つの式である平方根を加算と除算の繰り返しで求める式も使用。
sqrt関数を呼び出すより実行形式ファイルサイズがほんの少しだけ小さくなる。
の収束判定条件が成立する。

具体例で見ると、p = 2 のときはxの仮数整数が奇数なので x != z となるが、zを新たなxとして代入し
再計算すれば x == z が成立する。桁上がりが起こる p = 3.9999999999999996 のときも、同様に
再計算で x == z が成立する。p = 3 のときはxの仮数整数が偶数なので x == z が成立し再計算は不要。
420: デフォルトの名無しさん [sage] 2024/09/03(火) 10:17:03.41 ID:HQsZJT0t(2/3) AAS
>>419
419(1): デフォルトの名無しさん [sage] 2024/09/03(火) 10:00:07.45 ID:VHciJKZC(1) AAS
417ではないが,clispかsbclをインストールすればいいよ.Windowsでもできるし,WSLならさらに簡単にできる
ありがとうございます
そうするとemacsが使えるようになるのでしょうか?
それともプログラミング言語としてのlisp環境が整うだけでしょうか?
511: 506 [sage] 2025/01/30(木) 21:43:26.41 ID:ID2xuR+0(1) AAS
>>500
500(11): デフォルトの名無しさん [] 2025/01/27(月) 09:16:22.69 ID:rqFJtGlJ(1) AAS
お題
入力された文字列から重複する文字を抽出してください

T →
CG →
ATA → A
CGGA → G
ATGAT → AT
GTTGCA → GT
CCCCGGG → CG
ACTGCGAG → ACG
ATCAGAATA → AT
TGCCATGACA → TGCA
c
外部リンク:ideone.com
・unsigned int m[128] = {0};を使って集計
515: デフォルトの名無しさん [sage] 2025/01/31(金) 15:33:43.41 ID:b4vq2KMj(1) AAS
う~んこの嫌われムーブはあのおじさんか
このスレでは自重して欲しいな
538
(2): デフォルトの名無しさん [sage] 2025/02/07(金) 22:53:14.41 ID:ovhX7KXo(1/2) AAS
>>510
510(21): デフォルトの名無しさん [] 2025/01/30(木) 21:27:24.39 ID:te1+SH0T(1) AAS
お題
ソース文字列と検索文字列が入力されます
検索文字列の文字をすべて含むソース文字列の部分文字列のうち
一番短い部分文字列を出力してください

DHBICEJAFG EIC → ICE
FDGJHCBIEA EIC → CBIE
FBHDCIJGEA EIC → CIJGE
JDIBGHCEAF EIC → IBGHCE
JBCIAGDHEF EIC → CIAGDHE
EJFBCAGIHD EIC → EJFBCAGI
IADCGJFBEH EIC → IADCGJFBE
IDFHBJGAEC EIC → IDFHBJGAEC
c
外部リンク:ideone.com
・f_537 は537さんのパクリ
549
(1): デフォルトの名無しさん [] 2025/02/08(土) 20:02:06.41 ID:EDI8nVtP(2/2) AAS
>>510
C++
外部リンク:ideone.com

>>548
548(2): デフォルトの名無しさん [] 2025/02/08(土) 19:59:09.70 ID:EDI8nVtP(1/2) AAS
>>510
C++
外部リンク:ideone.com

>>534からの変更点
・minmax_elementを呼び出さずに済むようにして高速化
では検索文字列が短くて高速化されたか分かりにくかったので、長くして529, 534, 548の
実行時間を比較してみると、効果が顕著に現れた。
846
(1): デフォルトの名無しさん [] 2025/09/13(土) 21:09:19.41 ID:rhMflYHg(1) AAS
>>845
845(7): デフォルトの名無しさん [sage] 2025/09/13(土) 12:21:51.23 ID:nVmVuqdT(1) AAS
退屈そうだからちょっと難易度高め

【問題】
各桁の数が1~5のいずれかで全ての桁の合計がMとなる正整数の集合をG[M]で表す。
例えば123、111111はG[6]の要素、255、222222はG[12]の要素となる。
整数M(1≦M≦32)、N(1≦N)が与えられたとき、N番目に小さいG[M]の要素を求めよ。
ただしNがG[M]の要素数より大きい場合の出力は0とする。
求める数値は文字列または各桁の数の配列による表現も可能とする(123⇔"123"⇔[1,2,3])。

【例】 #入力は(M,N)
(2,1) → 2
(2,2) → 11
(2,3) → 0
(20,1) → 5555
(20,2) → 14555
(20,3) → 15455
(20,400096) → 11111111111111111111
(20,400097) → 0
(32,1) → 2555555
(32,2) → 3455555
(32,3) → 3545555
(32,1000) → 34355354
(32,1000000) → 11532334334
(32,1000000000) → 2141111311212411131
(32,1333610936) → 11111111111111111111111111111111
(32,1333610937) → 0

【ヒント(?)】
G[M]の要素数の数列は下記pentanacci数列a[n]から先頭の[0,0,0,0,1]を除いたものとなる(|G[M]| = a[M + 4])。
・a[0,1,2,3,4] = [0,0,0,0,1]
・a[k] = a[k-1] + a[k-2] + a[k-3] + a[k-4] + a[k-5]  (k≧5)
※a[37]までのリスト: 外部リンク:oeis.org
R
外部リンク:ideone.com

ヒントはどう使うのかわからなかった。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s