Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ilyarmnzhdn/b13ecc792b55b66cba035a2b40a2f945 to your computer and use it in GitHub Desktop.
Save ilyarmnzhdn/b13ecc792b55b66cba035a2b40a2f945 to your computer and use it in GitHub Desktop.
Beeline 2 interview question
import XCTest
@testable import InterviewQuestion2
class InterviewQuestion2Tests: XCTestCase {
func sumOfDigits(for number: Int) -> Int {
let arrayOfDigits = Array(sequence(state: number, next: { return $0 > 0 ? ($0 % 10, $0 = $0 / 10).0 : nil }))
return arrayOfDigits.reduce(0, {$0 + $1})
}
func test_exampleNumber() {
let sum = sumOfDigitsIn(number: 123)
XCTAssertEqual(sum, 6)
}
func test_integerMaxNumber() {
let sum = sumOfDigitsIn(number: Int.max)
XCTAssertEqual(sum, 88)
}
func test_integerMinNumber() {
let sum = sumOfDigitsIn(number: Int.min)
XCTAssertEqual(sum, 0)
}
func test_negativeNumber() {
let sum = sumOfDigitsIn(number: -542)
XCTAssertEqual(sum, 0)
}
}
@ilyarmnzhdn
Copy link
Author

Задача 2.
Дано целое положительное число не превышающее Integer.
Посчитать сумму всех его цифр.
В решении нельзя использовать цикл и работу со строками.
Ввод чисел через stdin (standard input).
Предусмотреть наличие юнит теста.
Примеры
Входные данные
123
Выходные данные
6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment