이 과제는 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
분명히하기 위해 정수가 아닌 숫자 의 합계를 계산합니다 . 한 자리 입력의 경우에도 동일합니다. 그러나 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
더 큰 테스트 사례 (CORRECT RESPONSE) :
Input: 1000000
Output: 27000001
규칙 및 지침 :
- 제출 된 코드는 기능이 아니라 완전한 프로그램 또는 스크립트 여야합니다. 코드에 포함, 수입 등이 필요한 경우 게시 된 코드에 포함해야합니다.
- 숫자는 하드 코딩되지 않은 사용자가 입력해야합니다. 입력은 명령 행 인수, 파일, stdin 또는 언어가 사용자 입력을 취할 수있는 다른 수단으로 수신 될 수 있습니다.
- 코드는 적어도 입력을 올바르게 처리 할 수 있어야합니다
(2^64)-1
. - 코드는 합계 만 출력해야합니다.
- 제출 된 프로그램 및 스크립트는 사용하기 쉽고 컴퓨터 리소스를 낭비하지 않아야합니다 (예 : 모든 문자를 담을 수있는 큰 배열을 선언해서는 안 됨). 이에 대한 엄격한 보너스 나 페널티는 없지만 훌륭한 프로그래머가 되십시오.
채점 :
기본 점수 매기기 메커니즘은 코드 길이입니다. 점수가 낮을수록 좋습니다. 다음 보너스 및 위약금도 적용됩니다 :
- 코드가 모든 양수를 처리 할 수있는 경우 -25 보너스 :
1234567891234567891234564789087414984894900000000
- 예를 들어 코드에서 간단한 표현식을 처리 할 수있는 경우 -50 보너스
55*96-12
. 이 보너스를 받으려면 코드에서+ - / *
(더하기, 빼기, 나누기, 곱하기) 연산자를 처리하고 연산 순서를 시행해야합니다. 나눗셈은 정규 정수 나누기입니다.- 주어진 예제 (
55*96-12
)는로 평가됩니다5268
. 코드는 입력 중 하나에 대해 동일하게 반환해야합니다81393
. 정답은 입니다.
- 주어진 예제 (
- -10 보너스 코드에서 -50 보너스 를 받을 수 있고
^
(지수) 연산자를 처리 할 수 있는 경우 보너스 . - -100 보너스 코드의 -50 보너스 자격을 경우 와 사용하지 않는
eval
또는 핸들 식 비슷합니다. - 코드가 웹 리소스에 의존하는 경우 +300 페널티
55*96-12
반환 해야 합니까?