この課題は、1から特定の数までの整数内のすべての数字の合計をカウントするプログラムまたはスクリプトを作成することです。
入力、1つの正の整数。出力、その数字とすべての小さい数字の桁の合計。
例:
Input: 5
Integer Sequence: 1, 2, 3, 4, 5
Sum of Digits: 1 + 2 + 3 +4 + 5 = 15
Input: 12
Integer Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Sum of Digits: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 0 + 1 + 1 + 1 + 2 = 51
明確にするために、これは整数ではなく数字の合計を数えることです。1桁の入力の場合、これは同じです。ただし、10を超える入力の応答は異なります。これは不正な応答です。
Input: 12
Output: 78
違いを示す別の例:
Input: 10
Integer Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Sum of Integers (INCORRECT RESPONSE): 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
Digit Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0
Sum of Digits (CORRECT RESPONSE): 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 0 = 46
より大きなテストケース(CORREST RESPONSE):
Input: 1000000
Output: 27000001
ルールとガイドライン:
- 送信されるコードは、単なる機能ではなく、完全なプログラムまたはスクリプトでなければなりません。コードにインクルード、インポートなどが必要な場合は、投稿されたコードに含める必要があります。
- 番号はユーザーが入力する必要があります-ハードコードされていません。入力は、コマンドライン引数、ファイル、標準入力、または言語がユーザー入力を受け取ることができる他の手段として受け取ることができます。
- コードは、少なくとも最大で入力を適切に処理できる必要があります
(2^64)-1
。 - コードは合計のみを出力する必要があります。
- 提出されるプログラムとスクリプトは、ユーザーフレンドリーであり、コンピューターリソースを浪費しないものでなければなりません(例:すべてのキャラクターを保持するために、非常に大きな配列を宣言するべきではありません)。これには厳密なボーナスやペナルティはありませんが、優秀なプログラマーにしてください。
得点:
主要なスコアリングメカニズムは、コードの長さによるものです。スコアが低いほど優れています。次のボーナスとペナルティも適用されます。
- -25ボーナスは、コードがすべての正の数を処理できる場合、たとえば:
1234567891234567891234564789087414984894900000000
- -50ボーナスは、たとえば、コードが単純な式を処理できる場合
55*96-12
です。このボーナスの資格を得るには、コードで+ - / *
(加算、減算、除算、乗算)演算子を処理し、演算の順序を強制する必要があります。除算は通常の整数除算です。- 与えられた例(
55*96-12
)はに評価され5268
ます。あなたのコードは、これらの入力のどちらに対しても同じ値を返すはずです-正解は81393
です。
- 与えられた例(
- -10ボーナスもしあなたのコード-50ボーナスの対象と扱うことができます
^
(指数)演算子を。 - -100ボーナスあなたのコード-50ボーナスの対象となっている場合とは、使用していない
eval
か、ハンドル式に似ています。 - コードがWebリソースに依存している場合、+ 300ペナルティ。
55*96-12
返す必要がありますか?