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

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

15
1000003で割り切れますか?簡単です。最後の桁に300001を掛けて加算するだけです!
Pより大きい素数が与えられた場合10、プログラムまたは関数xは、素数の最後の桁を乗算して元の残りに加算したときに元の素数の倍数を生成する最小絶対値を持つ整数として定義されるその分割可能性ルールを把握する必要がありますプライム。 例 入力が与えられる31と、最後の数字はで1あり、残りの数字は3です。したがって、プログラムは、の倍数であるxような最小絶対値を持つ整数を見つける必要があります。この場合、機能するため、プログラムまたは関数はを返します。1*x + 331x=-3-3 入力が与えられる1000003と、最後の数字はで3あり、残りの数字は100000です。したがって、プログラムはの倍数であるx=300001ため3*300001+100000 = 1000003、見つけるでしょう1000003。 数学的背景 の値はx、可分性テストとして使用できます。数がいる場合Nで割り切れるP、その後、追加xの回の最後の桁Nの残りの部分にはN、複数の得られますPし、場合にのみがあればNで割り切れるP最初の場所でします。 ためにP=11、我々が得るx=-1ために、よく知られた整除ルールに相当する、11数はで割り切れる:11その桁の交互の違いで割り切れます11。 ルール 出力は、出力の符号と値の両方を明確にエンコードする任意の形式にすることができます。 入力素数は10〜2 ^ 30の間です。 入力が素数でない場合や範囲内にない場合は処理する必要はありません。 あなたは、両方の場合はハンドルに必要としないxと-x有効な出力(起こるべきではありません)です。 ブルートフォースは許可されますが、より創造的なソリューションが評価されます。 これはcode-golfなので、各言語で最も短いコードが勝ちです!ゴルフ言語での回答が他の言語での投稿を妨げないようにしてください。 テストケース Input Output 11 -1 13 4 17 -5 19 2 23 7 29 3 31 -3 37 -11 41 -4 43 13 47 -14 53 16 59 6 61 …

11
2D分割累積合計
チャレンジ 行列の所与のMとr個の行とCの列、及び2つのブールリストV長さのR及びH長さのC、分配累積垂直方向と水平方向の和を計算します。 ルール rおよびcは1以上 HとVは真の値で始まります Mの値は、言語の合理的な数値領域内にあります。 パーティション化と加算は左上隅から始まります。 歩く 与えられたM: ┌──────────────┐ │ 1 2 3 4 5│ │ 6 7 8 9 10│ │11 12 13 14 15│ │16 17 18 19 20│ └──────────────┘ H:1 0 1 0 0 V:1 1 0 1 Mを列のグループに分割し、Hの真の値ごとに新しいグループを開始します ┌─────┬────────┐ │ 1 2│ 3 4 5│ …

7
電卓を回す
前書き: Windowsの標準的な電卓を見てみましょう 。この課題では、次のボタンのみを見て、他のすべてを無視します。 7 8 9 / 4 5 6 * 1 2 3 - 0 0 . + チャレンジ: 入力:次の 2つの入力を受け取ります。 1つは90度単位で回転を示すものです もう1つは、回転した電卓で押されたボタンを表す座標のリストです。 最初の入力に基づいて、上記のレイアウトを時計回りに90度ずつ回転します。したがって、入力がの場合0 degrees、そのまま残ります。ただし、入力がの場合、270 degrees時計回りに3回(または反時計回りに1回)回転します。以下に4つの可能なレイアウトを示します。 Default / 0 degrees: 7 8 9 / 4 5 6 * 1 2 3 - 0 0 . + 90 degrees clockwise: …

12
Nビット整数乗算オーバーフローのカウント
正の整数を指定するとN、0 <= a <= b < 2**Nなどの整数のペアの数を出力しa*b >= 2**Nます。 ルール あなたのN言語の整数の最大ビット幅以下であると仮定することができます(たとえば、Cの場合、マシンのアーキテクチャに応じて、をN超え32たり64、を超えたりしません)。ご使用の言語が任意の幅の整数を処理できる場合、上限はありませんN。 テストケース 1 0 2 3 3 19 4 96 5 437 6 1876 7 7804 8 31904 9 129170 10 520135 11 2088143 12 8369175 13 33512744 14 134128704 15 536681553 16 2147082274

30
累乗組み込みなしで整数xを累乗xにします
タスク-タイトルはほぼそれを要約しています。整数xをxの累乗にし0<xます。 制限事項: 累乗の使用、exp()、ln()、およびその他の権限に関連する言語組み込み関数は、のようなpow()、x^x、x**x禁止されています。 指定された整数が、選択したプログラミング言語の制限に適合すると仮定できます。 テストケース: Input | Output --------------- 2 | 4 3 | 27 5 | 3125 6 | 46656 10 | 10000000000 これはcode-golfであるため、バイト単位の最短プログラムが優先されます。

10
ジャムはそのように追加しないでください
バックグラウンド Jellyの算術原子は自動的にベクトル化します。実際には、X + Yはいつでも明確に定義されているX及びYは、数値または数値の不揃い配列です。Jellyのソースコードは、ジェネリックベクトライザーを使用してこの動作を実装しますが、この課題では、整数とネストされた整数配列の追加のみを考慮します。 定義 深さを定義Xをとして0あればxはのように、整数である1が整数の(おそらく空の)平坦アレイであり、そして場合としてN + 1は少なくとも一つの深さの要素が含まれている場合、Nと深さのない要素kは> n個。 このように、1は深さ0、[]と[1]、[1、1]は深さ1、[[]、[]]と[[1]、[1]]と[[1]]と[1 、[]]は深さ2、[1、[1、[1]]]は深さ3などです。 操作x + yは、次のように定義されます。 場合のxとyは深持っ0を、その合計を返します。 場合、XとYが等しいが正の深さを有する、再帰的に適用+のすべての項目にXとの対応する項目Y。 xとyの長さが異なる場合、長い配列の末尾を合計の配列に追加します。 結果を返します。 場合のxの深さがより厳密に小さいYの深さ、再帰的に適用されます+にXとのすべてのアイテムのy、その結果を返します。 yの深さが厳密にxより小さい場合は、逆の操作を行います。 たとえば、操作[1、[2、3]、[4]] + [[[10、20]、[30]、40、50]、60]を考えます。 左引数の深さは2で、右引数の深さは3なので、[1、[2、3]、[4]] + [[10、20]、[30]、40、50を計算します]および[1、[2、3]、[4]] + 60。 [1、[2、3]、[4]]および[[10、20]、[30]、40、50]は両方とも深さが2であるため、1 + [10、20]、[2、3 ]を計算します+ [30]及び[4] + 40。 1 + [10、20] = [1 + 10、1 + 20] = [11、21] [2、3] + [30] = …

15
n番目の完璧な力を見つけましょう!
完全な力はいくつかの形a**bであり、どこa>0でb>1。 たとえば、125はとして表現できるため、完全なパワー5**3です。 ゴール あなたの仕事はn、正の整数が与えられたときに、-thの完全なべき乗を見つけるプログラム/関数を書くことnです。 スペック 最初の完全な力は1(つまり1**2)です。 合理的な形式の入出力。 組み込みが許可されます。 さらに詳しい情報 OEIS A001597 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。 テストケース input output 1 1 2 4 3 8 4 9 5 16 6 25 7 27 8 32 9 36 10 49

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

15
最小スカラー積
最小スカラー積 このコードゴルフの問題のインスピレーションは、Googleのコードジャムコンペティションにあります。問題の背後にある前提は、長さが異なる2つのベクトルの入力が与えられると、可能な最小のスカラーを見つけることです。スカラーは、次の式を使用して見つけることができます。 x1 * y1 + x2 * y2 + ... + xn * yn ただし、問題は、入力ケースの数字の順序に応じて、スカラーの複数の値を見つけることができることです(以下を参照)。あなたの目標は、入力ケース番号を方程式にプラグインしてそれを解くことにより、可能な最小のスカラー整数解を決定することです。入力ですべての数字を使用できるのは1回だけであり、すべての数字を使用する必要があります。 次のベクターを使用して例を提供させてください。 入力 3 1 3 -5 -2 4 1 出力 -25 行の最初の整数は、各ベクトルの数値の数nを表します。この場合、各ベクトルに3つの数値があります。 数値nはテストケースごとに異なる場合がありますが、常に2つのベクトルがあります。 入力例では、最小のスカラー積は-25です。 (-5 * 4) + (1 * 1) + (3 * -2) = 25 ルール 両方のベクトルで各整数を一度だけ使用できます。 ベクトル内のすべての整数を使用する必要があります。 出力には最終製品のみを含める必要があります どの言語でも、上記のすべての仕様に従う最小のコードでソリューションを選択します! ヒント:コードを短くしない限り、この問題を総当たりする必要はありません。最小スパンスカラーの検出には、特定の方法が含まれます:)。

3
任意精度の整数除算
任意の大きな整数の除算を実装します。 これはcode-golfです。 タスクは、任意の精度の整数とその除算を実装するプログラムまたは関数を作成することです。 これを非常に簡単にする多くのことが許可されていないことに注意してください。仕様を必ずお読みください。 入力 入力として2つのものが与えられます。 基数10桁の文字列、それを呼び出しますn。 基数10の別の文字列、それを呼び出す m ことを前提としn>m>0ていることを意味しますが、ゼロ除算に頼まれることはありませんが。 出力 もし出力二つの数字、意志Q及びM * Q + R = N及び0 <= R <MR 仕様書 送信は、任意の大きな整数(使用可能なメモリによって制限される)に対して機能します。 外部ライブラリを使用することはできません。I / O用の外部ライブラリが必要な場合は、組み込みライブラリとして扱うことができます。(iostreamなどのようなものを見て)。 あなたの言語がこれを簡単にするビルトインを持っているなら、あなたはそれを使わないかもしれません。これには、任意の精度の整数を処理できる組み込み型が含まれます(ただし、これに限定されない場合があります)。 何らかの理由で言語がデフォルトで任意の精度の整数を使用する場合、この機能を使用して、通常64ビットで格納できない整数を表すことはできません。 入力と出力は基数10でなければなりません。メモリへの数値の格納方法や数値の演算方法は関係ありませんが、i / oは10を基数になります。 結果を出力するには15秒あります。これは、反復減算を禁止するためです。 ここでの目標は、実際に任意の精度の整数を実装することです。何らかの理由でチャレンジ仕様を遵守し、それらを実装せずにこれを成功させることができれば、私はあなたにとって良いと思う、有効だと思う。 テストケース この場合、入力は39です!そして30! 入力 n = 20397882081197443358640281739902897356800000000 m = 265252859812191058636308480000000 出力 Q = 76899763100160 R = 0 n50までのすべての階乗の合計に1を足したものmが、20までの連結数です。 …

5
困惑する数を追加して乗算する
「複素数」とも呼ばれる分割複素数は、複素数に似ています。i^2 = -1ただし、代わりにがありj^2 = 1; j != +/-1ます。各番号はの形式を取りますz = x + j*y。 この課題の複雑さを制限するための1つの試み-では、減算を行わないため、シンボルを使用して否定を表します。 視聴の楽しみの例を次に示します。 6 * 9 = 54 // real numbers still act normally 5 + -7 = -2 j*1 + j*1 = j*2 // two `j`s added together make a j*2 7 * j*1 = j*7 // multiplication …

2
数を表現する-現代の「Des Chiffres et des Lettres」
数を表現する 60年代にフランスはテレビゲーム番組「Des Chiffres et des Lettres」(Digits&Letters)を発明しました。ショーのディジット部分の目標は、いくつかの半ランダムに選択された番号を使用して、特定の3桁のターゲット番号にできるだけ近づけることでした。競技者は次の演算子を使用できます。 連結(1と2は12) 加算(1 + 2は3) 減算(5-3 = 2) 除算(8/2 = 4); 除算は、結果が自然数である場合にのみ許可されます 乗算(2 * 3 = 6) 括弧、操作の通常の優先順位をオーバーライドするには:2 *(3 + 4)= 14 指定された各番号は、一度だけ使用できるか、まったく使用できません。 たとえば、ターゲット番号728は、次の式を使用して、6、10、25、75、5、および50の番号と正確に一致させることができます。 75 * 10 - ( ( 6 + 5 ) * ( 50 / 25 ) ) = 750 - ( …

5
賢明でないビット操作
私はでゴルフをするのdcが好きですdcが、ビット単位の操作がないために時々イライラしています。 チャレンジ 4つの指定されたCビット演算と同等のものを実装する機能の提供&、|、~および^(ビット単位のAND、OR、NOT、およびXOR)。各関数~は、少なくとも32ビットの符号なし整数である2つのオペランドを取ります(1つだけを取ります)。各関数は、オペランドと同じビット幅の符号なし整数を返します。 制限 でサポートされている操作のみを使用できますdc。これらは: + - * / 算術加算、減算、乗算、除算 ~ modulo(または言語がサポートしている場合はdivmod) ^ べき乗 | モジュラーべき乗 v 平方根 > >= == != <= < 標準の等式/不等式演算子 >> <<ビットシフト演算子。 dcこれらはありませんが、2の累乗による除算/乗算の観点から自明に実装されているため、これらを許可します。 制御構造はdc、(再帰)マクロと(不)平等演算を使用して不器用に構築されます。言語に組み込まれている制御構造を使用できます。 また、論理演算子を && || !直接使用することはできませんが、論理演算子を使用することもできますdc。 あなたはビット単位の演算子を使用してはならない &、|、~および^または自明それらを実装する任意の機能。 さらに、組み込みの文字列のベース変換演算子または関数を使用しないでください。 また、答えの検証に役立つテストプログラムまたはオンラインコンパイラスニペット(ゴルフスコアには含まれていません)の提供を検討してください。

10
平方根を元に戻す
あなたの仕事は、小数を整数の平方根の合計に戻すことです。結果には、少なくとも6桁の有効桁数の精度が必要です。 入力: 平方根の数を示す数値と、近似する数値を示す小数。 入力例: 2 3.414213562373095 出力:スペースで区切られた整数。平方根で加算された場合、少なくとも6桁の有効な10進数まで正確な元の10進数になります。 ソリューションではゼロを使用できません。 複数のソリューションがある場合、1つだけを印刷する必要があります。 出力例(順不同): 4 2 これが機能するのは Math.sqrt(4) + Math.sqrt(2) == 3.414213562373095ます。 これはコードゴルフです。最短コード(オプションのボーナス付き)が勝ちます! 常に解決策がありますが、整数の解決策がないときにプログラムが「いいえ」を出力する場合は-10です。さらに、プログラムが1つではなくすべてのソリューション(改行またはセミコロンなどで区切られた)を印刷する場合は-10。 テストケース: 3 7.923668178593959 --> 6 7 8 2 2.8284271247461903 --> 2 2 5 5.0 --> 1 1 1 1 1 5 13.0 --> 4 4 9 9 9 --> 81 …

4
ASCIIアートで長い分割を視覚化する
ASCIIアートで長い除算を視覚化するプログラムを作成します。入力は、選択した入力形式を使用して、分子と分母の2つの整数で構成されます。 例: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 ルール: プログラミング言語の除算演算子の使用は許可されています。 大きな整数のサポートの使用も許可されています。 一貫性のために: 商がゼロの場合、ダイビングボードの最後にゼロを1つ出力します。 余りがゼロの場合、印刷しないでください。 数字に先行ゼロを印刷しないでください。 末尾の余分な改行と右側の末尾のスペースは許可されます。 最小の文字数のソリューションが勝ちです。 制限: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

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