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

初等算術に関連する課題。

30
2を3に置き換えます
正の整数nが与えられた場合、その素因数分解を行い、のすべての因子を2で置き換えるコードを記述し3ます。 例えば 12 = 2 * 2 * 3 -> 3 * 3 * 3 = 27 これはコードゴルフなので、目標は回答のバイト数を最小限にすることです。 テストケース 1 -> 1 2 -> 3 3 -> 3 4 -> 9 5 -> 5 6 -> 9 7 -> 7 8 -> 27 9 -> 9 10 -> 15 11 …

30
除算と剰余
この課題は、ほとんどの「標準」言語ではおそらく些細なことですが、難解で、低レベルで、かつ/またはこのサイトではめったに見られない使用が難しい言語に対処します。解決する興味深い問題を提供するはずなので、これはあなたが読んだ奇妙な言語を試す機会です! タスク 2つの自然数aをb入力として受け取り、整数除算の結果とその除算a/bの剰余(a%b)の2つの他の数値を出力します。 これはコードゴルフです:各言語の最短回答(バイト単位)が勝ちます! 入出力 0 <= a<= 255、1 <= b<= 255。各入力(および出力)も1バイトに収まります。 2つの数値が明確に区別できる限り、入力と出力の両方に任意の形式を選択できます(たとえば、2つの結果を区切り文字なしで一緒に印刷しない) 例 a,b->division,remainder 5,7->0,5 5,1->5,0 18,4->4,2 255,25->10,5 注:除算の結果と残りの両方を返す組み込み関数は禁止されています。少なくとも、あなたの言語が同じ引数に2つの関数を適用する方法を示してください。 注2:いつものように、コードがどのように機能するかの説明は非常に歓迎されます。 リーダーボード これは、言語ごとに勝者の概要を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、リーダーボードスニペットに表示することもできます。 # [><>](http://esolangs.org/wiki/Fish), …

24
複素数2進数
正整数からガウス整数への単純な全射マッピングを作成してみましょう。ガウス整数は、実数部と虚数部が整数である複素数です。 たとえば4538、正の整数が与えられた場合、先頭に0'を付けずにバイナリで表現します。 4538 base 10 = 1000110111010 base 2 後続0のを削除します。 100011011101 1つ以上0のすべての実行を単一のものに置き換えます+。 1+11+111+1 すべて1のをで置き換えますi: i+ii+iii+i 結果の複雑な式を評価し、単純化されたガウス整数を出力します。 i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i 出力は、従来の数学的な方法で表現することも、実数部と複素数部に2つの個別の整数として与えることもできます。この4538例では、次のいずれでも問題ありません。 -1+i i-1 -1+1i (-1, 1) -1 1 -1\n1 以下のような入力の場合29、Mathyさんは、次のような出力フォーマットされた0、0iまたは0+0iすべての罰金です。 それがあなたの言語にとってより自然であれば、j代わりに(または他の何か)を使用しても問題ありませんi。 バイト単位の最短コードが優先されます。

30
フィボナッチオリアル
定義 F(n)正整数のフィボナッチ数列は、次のように定義されます。 1. F(1) = 1 2. F(2) = 1 3. F(n) = F(n-1) + F(n-2), where n is an integer and n > 2 正の整数のフィボナッチ口径はの積です[F(1), F(2), ..., F(n)]。 仕事 正の整数が与えられた場合n、のフィボナッチオリアルを見つけますn。 スペック のフィボナッチオリアルは100、合理的なコンピューターで5秒未満で計算する必要があります。 テストケース n Fibonacci-orial of n 1 1 2 1 3 2 4 6 5 30 6 240 …

14
合計は常に15です
入力として負でない整数の配列を受け取り、入力配列の要素を含むベクトル/配列のセットを順番に出力するプログラムまたは関数を作成します。各ベクトルが合計15になるように分割します。 N個の要素は「15をヒット」せず、15をパスした数を切り捨てる必要があり、残りは次のベクトルの最初の要素になります。これは、入力配列の最後に到達するまで続きます。最終ベクトルの合計が15未満の場合、合計を増やすために最後に数値を追加する必要があります。 例を見れば、ルールがより簡単に理解できると思います。 Input: 3 7 5 10 Output: 3 7 5 <- Sum is 15 10 5 <- 5 is added to make the sum 15 Input: 2 4 5 9 2 3 5 0 2 4 5 0 3 Output: 2 4 5 4 <- Sum 15. 9 …

20
ある力を合計する
単純ですが、できればさほど簡単ではない挑戦: k数値を分割する累乗を加算するプログラムまたは関数を作成しnます。すなわち: 入力:2つの正の整数nおよびk(または整数の順序ペアなど) 出力:の正の約数の総和nことがあるk整数の乗 たとえば、11!= 39916800には、キューブである6つの除数、つまり1、8、27、64、216、および1728があります。したがって、入力39916800およびが与えられると3、プログラムはそれらの合計を返し2044ます。 その他のテストケース: {40320, 1} -> 159120 {40320, 2} -> 850 {40320, 3} -> 73 {40320, 4} -> 17 {40320, 5} -> 33 {40320, 6} -> 65 {40320, 7} -> 129 {40320, 8} -> 1 {46656, 1} -> 138811 {46656, 2} -> 69700 {46656, 3} -> …

30
三角形のアスペクト比を評価する
三角形の3つの辺の長さを与え、そのアスペクト比ARを評価します、次の式を使用してます。 どこで 三角形が等辺に近いほど、1そのアスペクト比に近くなります。1有効な三角形のアスペクト比は、それ以上です。 入力 入力は、リストまたは必要に応じて同様のものにカプセル化できる3つの正の実数です。 3つのサイドレングスが入力される順序に関係なく、プログラムは同じ値を出力する必要があります。 これらの3つの数値は、常に三角形の有効な辺の長さです(sidelengthsのある縮退した三角形1で1あり2、入力として与えられません)。値が縮退三角形に極端に近くなった場合、浮動小数点の不正確さを心配する必要はありません(たとえばdivision by 0、入力でプログラムがエラーになることは許容されます[1, 1, 1.9999999999999999])。 入力はSTDIN、を介して、関数の引数、または類似のものとして与えることができます。 出力 出力は、1言語で許容される標準精度以上の実数です。 出力は、に出力されSTDOUTたり、関数から返されたり、類似したものになります。 テストケース Inputs Output 1 1 1 1 3 4 5 1.25 42 42 3.14 ≈ 6.9476 14 6 12 1.575 6 12 14 1.575 0.5 0.6 0.7 ≈ 1.09375 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。

22
配列を数学の問題に変える
非負の整数の空でないリストが与えられた場合、それを算術問題として書き直すことを検討してください。 プラス記号(+)は、左から右へ(つまり、リストの先頭から末尾へ)増加する数値のペアの間に挿入されます。 マイナス記号(-)は、左から右に向かって減少する数値のペアの間に挿入されます。 乗算記号(*)は、等しい数のペアの間に挿入されます。 別の言い方をすると、サブリストa,bはa+bif a<b、a-bif a>b、およびa*bifになりa==bます。 たとえば、リスト [12, 0, 7, 7, 29, 10, 2, 2, 1] 表現になるだろう 12 - 0 + 7*7 + 29 - 10 - 2*2 - 1 これはに評価され 75ます。 そのようなリストを取り込んで評価し、結果を出力または返すプログラムまたは関数を作成します。 操作の順序が重要です。乗算は、加算または減算の前に実行する必要があります。 入力リストに1つの数値がある場合、それが評価されるものでなければなりません。例えば、[64]与える必要があります64。 evalまたはexec、同様の構成要素の使用が許可されています。 追加の例を次に示します。 [list] expression value [0] 0 0 [1] 1 1 [78557] 78557 78557 …

9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

21
掛けやすい数字
あなたの仕事は2つの数字を掛けるのが簡単かどうかを決定することです。これは、10を超える長い乗算では、乗算値と加算ステップの両方を見て、場所の値間でのキャリング(再グループ化)がないことを意味します。これは、乗算される各桁のペアが9以下で、各列の合計が9以下である場合に発生します。 例えば、331および1021乗算に簡単です: 331 x 1021 ------ + 331 662 0 331 ------ 337951 また、他の順序で乗算する場合も同じです(常にそうです)。 1021 x 331 ------ + 1021 3063 3063 ------ 337951 しかし、乗算は簡単431で1021はなく、示されている列間でキャリーが発生します。 431 x 1021 ------ + 431 862 0 431 ------ 440051 ^^^ また、加算ステップでキャリーが発生しなくても、get に乗算するとキャリーオーバーが発生するため、乗算は簡単12で16はありません。12 * 672 12 x 16 ---- + 72 12 ---- 192 …

30
文字列に数字を掛けます!
少し前に、文字列の乗算に関する課題がありました。数値だけでなく文字列も乗算できる方法を示しました。ただし、数字に文字列を適切に掛けることはできません。そうする試みが1つありましたが、これは明らかに間違っています。修正する必要があります! あなたのタスク: 文字列と整数の2つの入力を乗算する関数またはプログラムを作成します。文字列に整数を(適切に)乗算するには、文字列を文字に分割し、各文字を整数に等しい回数繰り返してから、文字を元に戻します。整数が負の場合、最初のステップでその絶対値を使用し、文字列を逆にします。入力が0の場合、何も出力しません(0を掛けたものは何も等しくありません)。 入力: 印刷可能なASCII文字と改行のみで構成される文字列、および整数(負の可能性あり)。 出力: 文字列に整数を掛けたもの。 例: Hello World!, 3 --> HHHeeellllllooo WWWooorrrlllddd!!! foo, 12 --> ffffffffffffoooooooooooooooooooooooo String, -3 --> gggnnniiirrrtttSSS This is a fun challenge, 0 --> Hello World!, 2 --> HHeelllloo WWoorrlldd!! 得点: これはcode-golfであり、最低バイト数が勝ちです!

30
2のべき乗の進化
これは「Hello World!」の進化の再投稿であり、元はユーザーHelka Hombaによって書かれました。 ここでのメタコンセンサスのため、重複して閉じられるべきではありません。 オリジナルは2年以上前に尋ねられ、6か月以上前に最後にアクティブでした。Helka Hombaからここに投稿する許可を得ています オリジナル以来、多くの言語が発明され、多くの人々がこのサイトに参加し、オリジナルに答える機会がなかったので、この再投稿は受け入れられると思います。 課題は、プログラムの数である2^nstdoutに出力するプログラムを作成することnです。キャッチは、あなたのプログラムはあなたの前に提出された回答のプログラムから10以下のレーベンシュタイン距離を持っている必要があるということです。 これの仕組み 以下では、C#を使用して2 ^(n = 1)=を出力する最初の回答を送信し2ます。 次に回答する人は、新しい回答の言語で実行されたときに2^n(n回答番号で)印刷されるように、最大​​10個の単一文字の挿入、削除、または置換でコードを変更する必要があります。たとえば、25番目の回答(Pythにあるとしましょう)は、2 ^ 25または33554432を出力します。 これは、最後の回答のプログラムを10文字だけ変更することで実行できる新しい言語がないため、全員が行き詰まるまで続きます。共同の目標は、これを維持できる時間を確認することです。そのため、不明瞭または不当なキャラクターの編集は行わないでください(ただし、これは必須ではありません)。 書式設定 投稿を次のようにフォーマットしてください: #Answer N - [language] [code] [notes, explanation, observations, whatever] Nは回答番号です(N = 1、2、3、...)。 どの正確な文字が変更されたかを伝える必要はありません。レーベンシュタイン距離が0〜10であることを確認してください。 何らかの言語で答えたり、結果のコードが混乱している場合は、必須ではありませんが、あなたが何をしたのか、なぜそれが機能するのかを説明してください。 ルール この課題について理解する重要なことは、一度に答えることができるのは1人だけであり、それぞれの答えはその前の答えに依存するということです。 同じNで2つの回答が存在することはありません。2人がNに対して同時に回答した場合、後で回答した(数秒の差があっても)回答を丁寧に削除する必要があります。 さらに... ユーザーは、2つの回答を連続して送信することはできません。(たとえば、回答1を送信したので、回答2はできませんが、3はできます。) 短期間で回答が多くなりすぎないようにしてください。 各回答は異なるプログラミング言語である必要があります。 Python 2/3など、言語のさまざまなメジャーバージョンを使用できます 伝統的に2つの異なる名前で呼び出される場合、言語は別個のものとしてカウントされます。(ここにはいくつかのあいまいさがありますが、コンテストを台無しにしないでください。) ASCIIに固執する必要はありません。好きな文字を使用できます。レーベンシュタイン距離はユニコード文字で測定されます。 出力は2^n他の文字のみであり、他の文字は含まれません。(>>>またはのような抑制できない出力と同様に、空白の先頭/末尾は問題ありませんans=) 言語にstdoutがない場合は、テキストをすばやく出力するために一般的に使用されているもの(たとえば、console.logまたはalertJavaScript)を使用します。 出力しなければならない2のべき乗が非常に大きくなると、無限の整数サイズではなく、無限のメモリを想定できます。整数オーバーフローには注意してください。 科学的表記法や、言語を表現する最も自然な数値表現方法を使用できます。(単項を除き、単項で出力しないでください) 回答が有効であることを確認してください。チェーンに5つの答えが分かれていることに気付きたくありません。無効な回答はすぐに修正するか、追加の回答がある前に削除する必要があります。 どうしても必要な場合を除き、回答を編集しないでください。 …

21
算術デリバティブ
関数の導関数は、数学、工学、物理学、生物学、化学、および他の多くの科学の基礎でもあります。今日は、接線方向にのみ関連する何か、算術微分を計算します。 定義 算術導関数a(n)またはn'は、関数の導関数に似た多くのプロパティによってここで定義されます(A003415)。 a(0) = a(1) = 0、 a(p) = 1、p任意の素数、および a(mn) = m*a(n) + n*a(m)。 第3の規則は、機能の分化のための製品のルールに基づいている:機能のためf(x)とg(x)、(fg)' = f'g + fg'。だから、数字で、(ab)' = a'b + ab'。 また、この単純な関係を介して算術導関数を負の数に拡張できるためa(-n) = -a(n)、入力は負になる場合があります。 ルール 任意の整数を指定するとn、の算術導関数を返すプログラムまたは関数を記述しますn。 入力はになり、整数のサイズと数値が大きすぎて妥当な時間を考慮できないという問題を回避します。アルゴリズムは、この範囲外の数値の算術導関数を理論的に計算できるはずです。-230 < n < 230 シンボリック数学、素因数分解、微分の組み込みが許可されています。 例 > a(1) 0 > a(7) 1 > a(14) # a(7)*2 + a(2)*7 = …

24
乗算で並べ替え
正の整数のリストを指定したプログラムまたは関数を作成して、各要素に可能な限り最小の正の整数を乗算して、厳密に増加するリストを作成する必要があります。 たとえば、入力が 5 4 12 1 3 乗算は 5*1=5 4*2=8 12*1=12 1*13=13 3*5=15 出力は増加するリストになります 5 8 12 13 15 入力 少なくとも1つの要素を含む正の整数のリスト 出力 正の整数のリスト 例 9 => 9 1 2 => 1 2 2 1 => 2 3 7 3 => 7 9 1 1 1 1 => 1 2 3 …

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つの入力が与えられます。 …

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