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

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

27
数を増やす
1年生または2年生では、拡張形式を使用して、数値の場所の値について学ぶことができます。例で説明する方が簡単なので、数値を検討してください123。展開された形式では100 + 20 + 3、として表され、若い心が場所の価値を視覚化するのに役立ちます。それはあなたがそれを言う方法を連想させます:100(プラス)20(プラス)3。 これを、小数点以下の単位の位置を超えて拡張できます。 2.718 => 2 + 0.7 + 0.01 + 0.008 あなたの挑戦は、正の浮動小数点数またはゼロ(あなたの言語が扱えるほど大きいか正確であると想定します;科学表記法ではない)または文字列を展開し、それを印刷/返すプログラムまたは関数を書くことです上で説明したように。 の間にスペース+もゼロも必要ないため、上記の例はのようになります2+.7+.01+.008。101.01 => 100 + 1 + 0.01入力がゼロでない限り、ゼロに等しい値は省略()する必要があります(以下を参照)。 値がそれ以上後、小数点の前にゼロをリードする一つまたは任意の末尾のゼロを持つべきではない(ノーノー者:0060, 0000.2, 30., 30.000, .0400)。入力もこれに適合します。 1年生のアテンションスパンは短いため、コードはできるだけ短くする必要があります。 テストケース 0 => 0 6 => 6 0.99 => 0.9 + 0.09 24601 => 20000 + 4000 + 600 + 1 …

30
Nの2乗を印刷
stdinから、または関数の引数として負でない整数Nを取り込むプログラムまたは関数を作成します。それは、それぞれが数NのN個のコピーで作られている中空のASCIIアートの正方形の文字列を印刷または返さなければなりません。 具体的には: Nがの場合、N 0のコピーは使用されないため、出力(または単一の末尾の改行のみ)がありません。 Nがの1場合、出力は次のとおりです。 1 Nが2次の場合: 22 22 Nが3次の場合: 333 3 3 333 Nが4次の場合: 4444 4 4 4 4 4444 Nが5次の場合: 55555 5 5 5 5 5 5 55555 パターンは6through まで続き9ます。 Nがの10場合、出力は次のとおりです。 10101010101010101010 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 …

8
伸縮性のヘビにキスをする
伸縮性のあるヘビは次のようになります。 <||=|||:)~ 伸縮部分|として知られる伸縮性蛇の垂直バー()の各個別のシーケンスは、その幅の2倍まで個別に拡張可能で、一度拡張されると交互にスラッシュ(、)で描画されます。/\ 上記の特定のヘビには、このような伸縮性のある部分が2つあり、4つの可能なポーズが与えられています。 <||=|||:)~ </\/\=|||:)~ <||=/\/\/\:)~ </\/\=/\/\/\:)~ 最小のストレッチポーズで伸びるヘビの一般的な形は、この正規表現で定義されます。 <(\|+=)*\|+:\)~ 次のように言葉で表現できます: <配列のいずれかの数字が続く|の接合と=、続いて標識:)~。 だから<|:)~and <||:)~と<|=|:)~and <|=|=||=|||||=||:)~は伸縮性のあるヘビですが<=:)~、<=|:)~and <||=:)~とand <|==||:)~はそうではありません。 伸縮性のあるヘビは、右ではなく左を向く場合もあり~(:|||=||>ます。フォームは同じで、ミラー化されています。 チャレンジ いくつかのスペースを挟んで、向かい合う2つの伸縮性のある蛇の1行の文字列を取り込むプログラムを作成します。両方のヘビは、最も伸びのないポーズになります(すべての垂直バー、スラッシュなし)。文字列は、右向きのヘビの尾で始まり、左向きのヘビの尾で終わります(オプションとして、末尾に改行もあると想定できます)。 たとえば、ヘビの間に5つのスペースがある入力の例を次に示します。 <|=||:)~.....~(:||||> .わかりやすくするために、実際のスペース文字の代わりにピリオド()を使用しています。 ヘビ間のゼロスペースも有効な入力です。 <|=||:)~~(:||||> ヘビは舌がこのように触れているときにキスをしていると言います。 あなたのプログラムは、(重複なし)ヘビはそれらの間の可能なスペースの最小数を有するように蛇の両方の伸縮性の部分のいくつかの組み合わせを拡張する必要がヘビが可能とキスに近いであるように、すなわち。 蛇の尾は両方とも固定されていますが、伸びている部分に応じて、頭と体は動くことができます-右向きのヘビは右、左向きのヘビは左です。 プログラムの出力は、蛇を可能な限りキスに近い形で示す単一行の文字列(オプションの末尾の改行)であり、伸びた部分の垂直バーの代わりにスラッシュを交互に描画します。 たとえば、<|=||:)~.....~(:||||>(上記から)の出力は次のようになります。 </\=||:)~~(:/\/\/\/\> これが唯一の解決策です。伸縮性のある部分の他の組み合わせを拡張すると、ヘビが重なり合うか、キスから遠ざかるからです。 可能なソリューションが複数ある場合、出力はいずれか1つになります。 たとえば、入力が <|=||:)~.....~(:|||=|> 出力は <|=/\/\:)~~(:/\/\/\=|> または </\=||:)~~(:/\/\/\=/\> ヘビにキスをすることは常に可能であるとは限らないことを忘れないでください、しかしあなたはまだそれらをできるだけ近くに近づける必要があります。 たとえば、入力が <||=||||:)~...~(:||> 出力は </\/\=||||:)~.~(:||> または <||=||||:)~.~(:/\/\> ヘビがすでにキスしている場合、出力は入力と同じになります。例えば <|=||:)~~(:||||> 一般に、伸縮性のある部分を延長すると蛇が重なる場合、出力は入力と同じになります。例えば <|||=|||:)~..~(:||||=|||||=||||||> …

10
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます。 注:クラウドを描画しても、実際に彼を元気づけることはありません。 円は、3組として定義できます。(x,y,r)ここxで、デカルト平面上の円のx位置、デカルト平面上の円yのy位置、およびr円の半径です。xそしてy負でもよいです。r常にポジティブです。入力は、スペースで区切られた3タプルの形式の円のリストです。例えば: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 3,1,1手段「に中心点を有する円3,11つの半径を有する。3,2,1.5手段」に中心点を有する円3,21.5半径を有します。 入力のこれらの円をすべてグラフに描画すると、次のようになります(わかりやすくするためにグリッド線とラベルを含めましたが、これらは必須ではありません)。 すべての円が凝集していることに注目してください。つまり、それらはすべて互いに重なり合っており、1つの大きなグループを形成し、残りの部分から分離された小さな円のグループはありません。入力は凝集性が保証されています。 ここで、これらの円によって形成される「境界線」の周りを移動する線を描き、他の線は一切ないとします。これは、すべての円によって形成されるシルエットの境界線を描くようなものです。結果のクラウドは次のようになります。 そのため、このクラウドは、境界を形成する入力内の円の円弧のみを描画することで形成され、単一の形状になります。言い換えると、クラウドは、別の円内にないアークを描くことによって形成されます。プログラムは、上記で説明した形式で入力を受け取り、結果のクラウドを表示する画像を出力します。雲の全体的な形状は正確でなければなりませんが、スケール、色、線の太さ、頂点の見え方はあなた次第です。クラウドが表示されている必要があるため、「このプログラムは白い背景に白い雲を描画する」、「このプログラムは無限に小さなスケールで雲を描画する」、「このプログラムは0の雲を描画する」また、境界線の色は塗りつぶしまたは背景の色と異なる必要があることに注意してください。 もう一つの例。入力: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 出力: クラウドに「穴」がある場合は、穴も描画する必要があります。入力: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 出力: 重要なルールは次のとおりです。プログラムは境界を形成する線のみを描画する必要があります。つまり、単純に円を完全に描画してから、白い塗りでわずかに小さい円を描画することはできません。このメソッドはまだ境界を形成しない線を描画するため、後でそれらを覆うだけです。ルールの目的は、「円を描いてから、白い塗りで円をもう一度描く」実装、またはそれに類似したものを防ぐことでした。答えは、実際に描画する前に描画する場所を実際に計算することです。 これはコードゴルフであるため、最短の文字数が優先されます。

30
アレックススタイルの追加
Alexの輝かしいLearn you for R for good goodに触発され、 Alexの「1つの真のRプログラム」を謙虚に再現しますが、ひねりを加えています。 アレックススタイルの加算はこのように機能します-90%の確率で与えられた2つの数値の合計を返し、10%の確率で最初の数値と2番目の数値+ 1を再帰的に加算します。つまり、潜在的に、追加が1つ以上オフになる場合があります。 チャレンジ 2つの整数を受け取り、定義どおりにAlex-addsする完全なプログラムまたは関数を作成します。言語に末尾再帰がない場合、プログラムはオーバーフローをスタックしないと仮定できます。(確率が同じである限り、再帰的に実装する必要はありません。) リファレンス実装(Groovy) int alexAdd(int a, int b) { int i = new Random().nextInt(11); if(i == 1) { return alexAdd(a,b+1); } else { return a + b; } } このフィドルをオンラインで試してください。 リーダーボード var QUESTION_ID=66522,OVERRIDE_USER=8478;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function …

22
デニス番号2.0
PPCGユーザーでありmodに選ばれた@Dennisは、10万人以上の担当者を獲得した2番目のユーザーになりました! これは完全に独創的なアイデアであり、私は他の誰からも得たものではありませんが12012、トリビュートとして彼のユーザーIDに基づいて挑戦してみましょう! それを見ると、彼のIDには2つの異なる「セクション」があることがわかります。 12 そして 012 これらのセクションは両方とも3になります。これは非常に興味深いプロパティです。 「デニス2.0の数値」を、厳密に増加する数字のすべての最大サブシーケンスが同じ数値に合計される正の整数として定義してみましょう。例えば、 123 厳密に増加する数字の最大サブリストが1つしかないため、デニス2.0の数字であり、合計は6です。さらに、増加する数字の3つの最大サブリスト、つまり 28 46 145 すべての合計が10。また、ちょうど同じ数字を繰り返し番号がしなければならない、例えばのでデニス2.0数字なり777に分けることができます 7 7 7 これは明らかに 7へのすべての合計。 などの数字は、デニス2.0の数字で42はありません。 4 2 これは明らかに同じ数になりません。 挑戦 特定の番号がデニス2.0番号であるかどうかを判断するプログラムまたは関数を作成する必要があります。文字列、数値、ファイル、関数引数/戻り値、STDIN / STDOUTなどから、合理的な入力形式で入出力を行い、この数値がDennis 2.0である場合に真理値を返すことができます。数、および偽の値(そうでない場合)。参考までに、最大1,000までのすべてのDennis 2.0番号を以下に示します。 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 22 23 24 …

30
禁止されているビルトイン
では、標準の抜け穴、以下をさ禁じ: 答えが「MyOwnLanguage」で書かれていると主張する場合、コマンドxは「一連の数字を読み取り、3つのグループに分割し、2番目の数字が最初の数字よりも小さいグループの最後の数字を出力する」ことを意味します ここでは、まったく同じことを行います。 仕事 長さが3で割り切れる正の整数のシーケンスが与えられた場合、それらを3つのグループに分割し、2番目の数値が最初の数値よりも小さいグループの最後の数値を出力します。 テストケース Input Output [] [] [1,2,3,4,5,6,7,8,9] [] [2,1,3,5,4,6,8,7,9] [3,6,9] [3,1,4,1,5,9,2,6,5] [4] [100,99,123] [123] [123,123,456] [] [456,123,789] [789] 得点 これはcode-golfです。バイト単位の最短回答が優先されます。 標準の抜け穴が適用されるため、xこのタスクを実行する組み込みコマンドを使用しないでください。

12
5、2、16、3580、次は何ですか?
10進数で5の正の整数のべき乗を考慮します。以下は、右揃えの最初の25です。 X 5^X 1 5 2 25 3 125 4 625 5 3125 6 15625 7 78125 8 390625 9 1953125 10 9765625 11 48828125 12 244140625 13 1220703125 14 6103515625 15 30517578125 16 152587890625 17 762939453125 18 3814697265625 19 19073486328125 20 95367431640625 21 476837158203125 22 2384185791015625 23 11920928955078125 24 …

30
最大の除数を減算することにより、nから1までのステップ数は?
数学でこの質問に触発されました。 問題 ましょうn自然数≥ 2です。の最大の除数(それ自体nとは異なる)をn取得し、それからを引きnます。になるまで繰り返します1。 質問 1特定の数に達するのに何歩かかりますかn ≥ 2。 詳細な例 させてくださいn = 30。 の最大の除数: 1. 30 is 15 --> 30 - 15 = 15 2. 15 is 5 --> 15 - 5 = 10 3. 10 is 5 --> 10 - 5 = 5 4. 5 is 1 --> 5 - …

30
クレジットカード番号などを検証するためのLuhnアルゴリズム
チャレンジ (クレジットカード)番号を検証するためのLuhnアルゴリズムを計算する最短のプログラムまたは関数を作成します。 Luhnアルゴリズムの説明 RosettaCodeから、このチャレンジの目的のためのこのアルゴリズムは、次の入力例を使用して指定されています49927398716。 Reverse the digits, make an array: 6, 1, 7, 8, 9, 3, 7, 2, 9, 9, 4 Double the numbers in odd indexes: 6, 2, 7, 16, 9, 6, 7, 4, 9, 18, 4 Sum the digits in each number: 6, 2, 7, 7, 9, 6, …

30
井戸のカタツムリ
バックグラウンド 次のような一般的な謎があります。 カタツムリは30フィートの井戸の底にあります。毎日カタツムリは3フィートを登ることができます。彼らが眠る夜、彼らは2フィート下にスライドします。カタツムリが井戸から出るのに何日かかりますか? 直感的な答えは 30日。カタツムリは1日に1フィートで30日間登り、頂上に到達するため しかし、実際には答えは 28日。カタツムリが空中に27フィート(27日後)になると、残りの3フィートを28日目に単純に登ります。 チャレンジ この挑戦はこの謎を一般化します。合計の高さ、上昇高さ、および下降高さを表す3つの正の整数を入力として指定すると、井戸から上昇するまでにかかる日数を返します。 カタツムリが井戸から登れない場合は、0を返すか、偽の値を返すか、例外をスローします。ソリューションが存在する場合にのみ停止するコードを記述することもできます。 必要に応じて、落下高さを負の整数として取得できます。 テストケース (30、3、2)-> 28 (84、17、15)-> 35 (79、15、9)-> 12 (29、17、4)-> 2 (13、18、8)-> 1 (5、5、10)-> 1 (7、7、7)-> 1 (69、3、8)->なし (81、14、14)->なし 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。

23
選挙をハックする
あなたはプロのハッカーであり、あなたの上司は候補者が次の選挙に勝つのを手伝うようにあなたに命じたところです。あなたの仕事は、投票マシンのデータを変更して候補者の結果を高めることです。 投票マシンは、投票結果を2つの整数として保存します。候補者v1の投票数()と相手の投票数(v2)です。 数週間の調査の後、システムにセキュリティホールが見つかりました。v1整数xでの値を増やしv2、同じでの値を減らすことができますx。ただし、制約があり、セキュリティハッシュコードを一定に保つ必要があります。 セキュリティハッシュコード: (v1 + v2*2) modulo 7 また、x変更に気付かないように、の値は最小限でなければなりません。 あなたのプログラムは、入力として受け入れるべきv1とv2。xso の最適値を出力する必要がありますv1>v2。 結果をハッキングできない場合があります。それらを処理する必要はありません(これは上司に問題を引き起こす可能性がありますが、それは別の話です)。 テストケース 100,123 --> 14 47,23 --> 0 40,80 --> 21 62,62 --> 7 1134,2145 --> 511

30
乗法永続性
乗法永続性 数字のすべての数字を掛ける 1桁が残るまで繰り返します Numberphileが説明したように: Numberphile「277777788888899の特別なところは?」 Numberphile「乗法持続性(追加映像)」 例 277777788888899→2x7x7x7x7x7x7x8x8x8x8x8x8x9x9 = 4996238671872 4996238671872→4x9x9x6x2x3x8x6x7x1x8x7x2 = 438939648 438939648→4x3x8x9x3x9x6x4x8 = 4478976 4478976→4x4x7x8x9x7x6 = 338688 338688→3x3x8x6x8x8 = 27648 27648→2x7x6x4x8 = 2688 2688→2x6x8x8 = 768 768→7x6x8 = 336 336→3x3x6 = 54 54→5x4 = 20 20→2x0 = 0 ちなみに、これは現在のレコードです。つまり、最小数と最大数のステップです。 ゴルフ 入力として任意の整数を受け取り、入力自体から始めて1桁になるまで各ステップの結果を出力するプログラム。277777788888899の場合、出力は次のようになります。 277777788888899 4996238671872 438939648 4478976 338688 27648 2688 …

30
3なしで数える
バックグラウンド 私が小学校にいたときは、数学クラスで次のようなゲームをしていました。 すべての子供は大きな輪になって、1から順番に数えます。 ただし、カウント中は次の番号をスキップする必要があります。 3の倍数である数字。 10進数表現で3を持つ数字。 子供が言うべき最初の15の数字は 1 2 4 5 7 8 10 11 14 16 17 19 20 22 25 誰かが番号を間違えた場合(シーケンスに含まれていない番号を言う場合、または番号をスキップした場合)は、サークルから削除されます。これは、子供が1人だけになるまで続きます。 仕事 あなたはこのゲームが苦手なので、カンニングをすることにします。シーケンスの数を指定すると、シーケンスの次の数を計算するプログラムまたは関数を作成します。 プログラムが入力251まで正しく機能し、アルゴリズムが任意の大きな入力に対して機能する場合、言語のネイティブな数値型を使用して表現できない数値を処理する必要はありません。 入力および出力は、任意の便利なベースを使用できます。 コードを隠す必要があるため、できるだけ短くする必要があります。実際、これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース 1 -> 2 2 -> 4 11 -> 14 22 -> 25 29 -> 40 251 -> 254

20
怪しいものよりも大きい
小なり記号と大なり記号(<、>)の長さNの文字列を指定して、すべての不等式が満たされるように、記号の各ペアの開始と終了、および各ペアの間に整数0〜Nを挿入します。結果の文字列を出力します。有効な出力が複数ある場合は、いずれか(および1つだけ)を出力します。 例えば <<><><< は7文字なので、0から7までのすべての数字を挿入する必要があります。有効な出力は 2<3<4>1<5>0<6<7 なぜなら、すべての不等式が一度に一つずつとられたからです 2<3 3<4 4>1 1<5 5>0 0<6 6<7 本当です。 必要に応じて、出力に記号を囲むスペースを含めることができます2 < 3 < 4 > 1 < 5 > 0 < 6 < 7。 バイト単位の最短コードが優先されます。 テストケース 空の行の後の最初の行は入力であり、次の行はそれぞれ有効な出力例です。 [empty string] 0 < 0<1 > 1>0 << 0<1<2 <> 1<2>0 >< 1>0<2 2>0<1 >> 2>1>0 <<< 0<1<2<3 …

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