タグ付けされた質問 「integer」

整数の操作を伴う課題。

30
上下、上下
チャレンジ: 正の整数入力nを指定すると、次のパターンに従うベクトルを作成します。 0 1 0 -1 -2 -1 0 1 2 3 2 1 0 -1 -2 -3 -4 -3 -2 -1 ... ±(n-1) ±n または、言葉で説明します:ベクトルは、0で始まり1、シーケンスの一部ではない最小の奇数の正の整数に達するまで増分し、それから最小の(大きさで)偶数の負の整数に達するまで減分しますシーケンスの一部ではありません。n到達するまでこのように継続します。シーケンスが奇数のn場合nは正で終了し、偶数のn場合nは負で終了します。 出力形式は柔軟です。 テストケース: n = 1 0 1 ----------- n = 2 0 1 0 -1 -2 ----------- n = 3 0 1 0 -1 …

30
繰り返した!階乗!
階乗の検索と混同しないでください! 前書き 整数の階乗はnnで計算できます != N × (N - 1 )× (N - 2 )× (。。。)× 2 × 1n!=n×(n−1)×(n−2)×(...)×2×1n!=n×(n−1)×(n−2)×(...)×2×1n!=n\times(n-1)\times(n-2)\times(...)\times2\times1 これは比較的簡単で、新しいことは何もありません。ただし、階乗は、n !のように二重階乗に 拡張できます。!= N × (N - 2 )× (N - 4 )× (。。。)× 4 × 2 偶数のため、及び N !!= N × (N - 2 )× (N - 4 )× (。。n!!=n×(n−2)×(n−4)×(...)×4×2n!!=n×(n−2)×(n−4)×(...)×4×2n!!=n\times(n-2)\times(n-4)\times(...)\times4\times2n!!=n×(n−2)×(n−4)×(...)×3×1n!!=n×(n−2)×(n−4)×(...)×3×1n!!=n\times(n-2)\times(n-4)\times(...)\times3\times1 奇数の場合。しかし、二重階乗に限定されません。たとえば、 …

30
番号の範囲を元に戻す
それが非常に簡単です、数与えられn、範囲を作成0しますn-1。実際、多くの言語がこの操作を組み込みとして提供しています。 次のCJamプログラムは整数を読み取り、そのような範囲を出力します(オンラインで試してみてください!): ri, セパレータなしで数値が出力されることに注意してください。 チャレンジ あなたの仕事は、このプロセスを逆にすることです。範囲を表す文字列を指定すると、その範囲を生成するために使用される数値を返すプログラムを作成する必要があります。 仕様書 番号は区切り文字なしで指定されます。 文字列が有効な範囲を形成すると仮定できます。 範囲に0または1ベースのインデックスを使用できます。 正しい出力が32,767を超えることはないと想定できます(したがって、有効な入力の長さが152,725を超えることはありません)。 正しい出力は常に正であると仮定することができます(したがって、0または負を処理する必要はありません)。 これはcode-golfであるため、最短の競合する回答(バイト単位)が勝ちます。 テストケース 0インデックス付き: 0123 -> 4 0 -> 1 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101 1インデックス付き: 1234 -> 4 1 -> 1 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 100

30
同じ数字を逆にして、1からnまでの数字をインターリーブします
簡単なもの: 正の整数を取るN 1000未満、及び出力から整数1のnがから整数でインターリーブNに1。数字を連結して、区切り記号なしで数字が表示されるようにする必要があります。 テストケース: n = 1 11 n = 4 14233241 n = 26 12622532442352262172081991810171116121513141413151216111710189198207216225234243252261 n = 100 110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001 これはコードゴルフであるため、各言語のバイト単位の最短の提出が勝ちです。説明が奨励されます。

14
n項の数を生成
2次数は、その素因数(多重度なし)がすべて平方根以下である正の整数です。4唯一の素因数は2であり、その平方根に等しいため、は二次数です。ただし、15は5平方根(~ 3.9)よりも大きい素因数であるため、二次数ではありません。すべての素数はそれ自体が素因数であるため、素数は二次数ではありません。最初のいくつかのセカンダリ番号は次のとおりです。 1, 4, 8, 9, 12, 16, 18, 24, 25, 27, 30, 32, 36, 40, 45, 48, 49, 50, 54, 56 三次数も同様に定義されますが、すべての素因数がその立方根以下でなければなりません。最初のいくつかの3次番号は次のとおりです。 1, 8, 16, 27, 32, 36, 48, 54, 64, 72, 81, 96, 108, 125, 128, 135, 144, 150, 160, 162 一般に、n進数は、その素因数がすべてそのn番目のルート以下であるものです。したがって、正の整数ある進数IFFその素因数のそれぞれ満たす。したがって、一次数はすべて正の整数(すべての素因数はそれ以下)であり、四次数はすべての素因数が4番目のルート以下である、などです。バツバツxPのP N ≤ Xnppppn≤ Xpn≤バツp^n ≤ x …


5
数式における「/」と「÷」の歴史的な違い
前書き: 式6÷2(1+2)6÷2(1+2)6÷2(1+2)に関する長年の議論に触発されました。 式6÷2(1+2)6÷2(1+2)6÷2(1+2)、数学者は正解が111であることがすぐにわかります。一方、学校からの単純な数学の背景を持つ人は、正解が999ことがすぐにわかります。それで、この論争とそれによる異なる答えはどこから来るのでしょうか?6÷2(1+2)6÷2(1+2)6÷2(1+2)記述方法には2つの矛盾するルールがあります。1つは部品によるもの2(で、もう1つは分割記号によるもの÷です。 数学と「普通の人々 」の両方が使用されますが、PEMDAS( -指数精度-部門/乗算-カッコ加算/減算を)ので、数学者のための式は、以下のように評価されて2(3)2(3)2(3)だけ例えばのようなものである2x22x22x^2の単項式別名「並置による暗黙の乗算による単一項」(したがって、Pinの一部PEMDAS)。これは、2×(3)2×(3)2×(3)(二項別名、2項)とは異なる方法で評価されます。 6÷2(1+2)→62(3)→66→16÷2(1+2)→62(3)→66→16÷2(1+2) → \frac{6}{2(3)} → \frac{6}{6} → 1 「普通の人」の場合、2(3)2(3)2(3)と2×(3)2×(3)2×(3)は同じ(したがってMDinの一部PEMDAS)になるため、代わりにこれを使用します。 6÷2(1+2)→6/2×(1+2)→6/2×3→3×3→96÷2(1+2)→6/2×(1+2)→6/2×3→3×3→96÷2(1+2) → 6/2×(1+2) → 6/2×3 → 3×3 → 9 ただし、元の式を6÷2×(1+2)6÷2×(1+2)6÷2×(1+2)として記述したとしても、除算記号を使用しているため、まだ議論の余地があります÷。現代の数学では、/および÷記号の意味はまったく同じです:除算。いくつかのルールは、事前に1918 †分割シンボルに関する÷††それは分割シンボルとは異なる意味を持っていたこと状態/。これは、ある÷意味「するために使用右の数字/発現と左の数/表現を分割」†††。したがってa÷ba÷ba ÷ bは、(a)/(b)(a)/(b)(a) / (b)またはabab\frac{a}{b}今。この場合、1918年以前の人々は6÷2×(1+2)6÷2×(1+2)6÷2×(1+2)を次のように評価します。 6÷2×(1+2)→62×(1+2)→62×3→66→16÷2×(1+2)→62×(1+2)→62×3→66→16÷2×(1+2) → \frac{6}{2×(1+2)} → \frac{6}{2×3} → \frac{6}{6} → 1 †:÷過去の使用方法を説明する複数の情報源を見つけましたが(下記の†††を参照)、これが1918年ごろにどこかで変更されたことを明確に証明することはできませんでした。ターニングポイント÷と /、彼らは過去に異なっても同じことを意味し始めて。 ††:その他の記号も同様に、部門の過去に使用されている:か(これは私が個人的に小学校のxDさんに学んだことがあるため、オランダなどヨーロッパ以外の英語圏の国ではまだ今か)1633年)に1540年代。しかし、この課題では、1918年以前のobelusシンボルの意味にのみ焦点を当てています÷。 †††:出典:この記事全般。そしてに関する事前1918ルール÷で言及されています。このザ・アメリカ数学月間の1917年2月からの記事。1659 ページ9および76 ページからのドイツのこの代数本。この代数の最初の本1895ページ46 [48/189]から。 少しオフトピック:この表現に関する実際の議論に関して:そもそもこのように書かれてはいけません!質問が不明確な場合、正しい答えは無関係です。 *「質問内容が不明なため閉じる」ボタンをクリックします*。 そして記録のために、カシオ計算機の異なるバージョンでさえ、この式を適切に処理する方法を知りません: チャレンジ: 次の2つの入力が与えられます。 …

30
半分、半分半分、そして半分
次の番号シーケンスを検討してください。 0,12、14、34、18、38、58、78、116、316、516、716、916、1116、1316、1516、132、332、532、…0、12、14、34、18、38、58、78、116、316、516、716、916、1116、1316、1516、132、332、532、… 0, \frac{1}{2}, \frac{1}{4}, \frac{3}{4}, \frac{1}{8}, \frac{3}{8}, \frac{5}{8}, \frac{7}{8}, \frac{1}{16}, \frac{3}{16}, \frac{5}{16}, \frac{7}{16}, \frac{9}{16}, \frac{11}{16}, \frac{13}{16}, \frac{15}{16}, \frac{1}{32}, \frac{3}{32}, \frac{5}{32}, \dots 単位区間内のすべてのバイナリ分数を列挙します。[ 0 、1 )[0、1) [0, 1) (この課題を簡単にするために、最初の要素はオプションです:スキップして、シーケンスが1/2で始まると考えることができます。) 仕事 プログラム(完全なプログラムまたは関数)を書く... 次の動作のいずれかを選択します。 入力n、シーケンスの出力n番目の要素(0インデックスまたは1インデックス); 入力n、シーケンスの最初のn個の要素を出力します。 何も入力せず、1つずつ取得できる無限数列を出力します。 ルール あなたのプログラムは少なくとも最初の1000項目をサポートする必要があります。 必要に応じて、小数または小数(組み込み、整数ペア、文字列)を出力することを選択できます。 この質問では、2進数としての入力/出力は許可されていません。 これはcode-golfで、最短のコードが勝ちます。 標準の抜け穴は許可されていません。 テストケース input output 1 1/2 0.5 2 1/4 0.25 …

8
素数から四角リングを生成できますか?
どうやらそう!3つの簡単なステップで。 ステップ1 ましょうF(nは)プライムカウント機能を(素数の数より少ないか等しい示すN)。 整数シーケンス s(n)を次のように定義します。各正の整数nに対して、 tをnに初期化します。 限りtはプライムでも1でもない、置き換えるトンをすることにより、F(T)と反復します。 反復回数はs(n)です。 すべてのnについてf(n)< nであるため、反復プロセスは終了することが保証されています。 たとえば、n = 25を考えます。t = 25 を初期化します。これは素数でも1でもないため、f(25)(9)を計算します。これがtの新しい値になります。これは素数でも1でもないため、f(9)は4です。f(4)は2です。これは素数なので、ここで停止します。3回の反復を行いました(25から9、次に4、次に2)。したがって、s(25)は3です。 シーケンスの最初の40の用語は次のとおりです。シーケンスはOEISにはありません。 0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 …

30
nで終わり、nで割り切れる桁の合計がnになる最小の正の整数を見つける
それはすべてタイトルにあります... 入力として正の整数n>=12を取り、...タイトルが言うことをします。 はい、これはOEIS A187924にあります。 いくつかのテストケース 12 -> 912 13 -> 11713 14 -> 6314 15 -> 915 16 -> 3616 17 -> 15317 18 -> 918 19 -> 17119 20 -> 9920 40 -> 1999840 100-> 99999999999100 これはcode-golfです。バイト単位の最短コードが勝ちです!

30
数字を最大桁で減らす
仕事: 10進法で整数を指定した場合、次のように1桁の10進数に減らします。 数値を10進数のリストに変換します。 最大桁Dを見つける リストからDを削除します。Dが複数ある場合は、左から1番目(最も重要な位置)を選択します。他のすべてはそのまま残ります。 結果のリストを10進数に変換し、Dを掛けます。 数値が9より大きい(10進数が1桁以上)場合は、手順全体を繰り返して、結果をそれに入力します。1桁の結果が得られたら停止します。 結果を表示します。 例: 26364 -> 1. 2 6 3 6 4 2. The largest digit is 6, so D=6 3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one, at position 1 and get the list …

30
バーコードは有効ですか?
EAN-8バーコードは7情報の桁と8チェックサム・デジットを有しています。 チェックサムは、数字に3と1を交互に掛け、結果を加算し、次の10の倍数から減算することで計算されます。 たとえば、数字が与えられた場合2103498: Digit: 2 1 0 3 4 9 8 Multiplier: 3 1 3 1 3 1 3 Result: 6 1 0 3 12 9 24 これらの結果の数字の合計は55なので、チェックサムの数字は60-55 = 5です。 チャレンジ あなたの仕事は、8桁のバーコードが与えられたら、それが有効かどうかを確認することです。チェックサムが有効であれば真理値を返し、そうでなければ偽りを返します。 次のいずれかの形式で入力できます。 バーコードの数字を表す8文字の文字列 8つの整数のリスト、バーコードの桁 非負の整数(1= が指定されていない場合、先行ゼロを想定するか00000001、ゼロが指定された入力を要求できます) EAN-8チェックサムを計算する(つまり、最初の7桁を取得して最後の桁を計算する)ビルトインは禁止されています。 これはcode-golfなので、最短のプログラム(バイト単位)が勝ちです! テストケース 20378240 -> True 33765129 -> True 77234575 -> True 00000000 …

30
最も高い一意の数字を見つける
驚くべきことに、私たちは単純な「最高位の数字を見つける」チャレンジをまだしていませんでしたが、それは少し簡単すぎると思います。 負でない整数の入力が与えられた場合、整数で見つかった最も高い一意の(つまり、繰り返されない)数字を返します。一意の数字がない場合、プログラムは何でもできます(未定義の動作)。 入力は、単一の整数、文字列、または数字のリストとして取得できます。 テストケース 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 これはコードゴルフなので、各言語で最少のバイトが勝ちます!

30
単調さを減らしましょう
...しかし、ちょっと、厳密である必要はありません。 厳密に正の整数の空でない配列が与えられた場合、それが以下であるかどうかを判断します。 単調に厳密に減少します。これは、各エントリが前のエントリよりも厳密に少ないことを意味します。 単調な増加はしませんが、厳密には減少しません。これは、各エントリが前のエントリ以下であり、配列が上記のカテゴリに該当しないことを意味します。 上記のどれでもない。 次のコーナーケースに注意してください。 単一の数値を持つ配列は、単調に厳密に減少します(無意味に減少します)。 同じ数が繰り返された配列は、単調な非増加ですが、厳密には減少していません。 ルール プログラムまたは機能を提供できます 入力は、配列、リスト、スペースで区切られた数字の文字列など、任意の合理的な形式で取得できます。 3つのカテゴリに対してそれぞれ3つの一貫した出力を選択できます。例えば、出力は数値とすることができます0、1、2。または文字列1 1、1 0空の文字列。 バイト単位の最短コードが勝つ テストケース 単調に厳密に減少: 7 5 4 3 1 42 41 5 単調に増加しないが、厳密には減少しない: 27 19 19 10 3 6 4 2 2 2 9 9 9 9 上記のどれでもない: 1 2 3 2 10 9 8 7 12 …

29
プレフィックスコードですか?
情報理論では、「プレフィックスコード」とは、どのキーも別のキーのプレフィックスではない辞書です。言い換えれば、これは、文字列が他の文字列で始まらないことを意味します。 たとえば、{"9", "55"}はプレフィックスコードですが、そうで{"5", "9", "55"}はありません。 これの最大の利点は、エンコードされたテキストを区切り文字なしで書き留めることができ、一意に解読できることです。これは、常に最適なプレフィックスコードを生成するHuffmanコーディングなどの圧縮アルゴリズムに現れます。 タスクは簡単です。文字列のリストが与えられたら、それが有効なプレフィックスコードかどうかを判断します。 あなたの入力: 妥当な形式の文字列のリストになります。 印刷可能なASCII文字列のみが含まれます。 空の文字列は含まれません。 出力は、真/偽の値になります。有効なプレフィックスコードの場合はTruthy、そうでない場合はfalseyです。 真のテストケースを次に示します。 ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] いくつかの誤ったテストケースを次に示します。 ["4", "42"] ["1", "2", …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.