콘텐츠로 건너뛰기
Home » swift » 페이지 11

swift

오일러 프로젝트 40

소수점 뒤에 양의 정수를 차례대로 붙여 나가면 아래와 같은 무리수를 만들 수 있습니다. 0.123456789101112131415161718192021…. 이 무리수의 소수점 아래 12번째 자리에는 1이 옵니다. 소수점 아래 n번째 숫자를 dn이라고 했을 때, 아래 식의 값은 얼마입니까?

d1 x d10 x d100 x d1,000 x d10,000 x d100,000 x d1,000,000

http://euler.synap.co.kr/prob_detail.php?id=40
더 보기 »오일러 프로젝트 40

오일러 프로젝트 39

세 변의 길이가 모두 자연수 {a, b, c}인 직각삼각형의 둘레를 p 로 둘 때, p = 120 을 만족하는 직각삼각형은 아래와 같이 세 개가 있습니다.

{20, 48, 52}, {24, 45, 51}, {30, 40, 50}

p가 1000이하일 때, 세변의 길이가 모두 자연수인 직각삼각형을 가장 많이 만들 수 있는 p의 값은 얼마입니까?

http://euler.synap.co.kr/prob_detail.php?id=39
더 보기 »오일러 프로젝트 39

오일러 프로젝트 37

소수 3797에는 왼쪽부터 자리수를 하나씩 없애거나 (3797, 797, 97, 7), 오른쪽부터 없애도 (3797, 379, 79, 7) 모두 소수가 되는 성질이 있습니다. 이런 성질을 가진 소수는 단 11개만이 존재합니다. 이것을 모두 찾아서 합을 구하세요. (참고, 한자리 소수인 2, 3, 5, 7 은 제외합니다.)

http://euler.synap.co.kr/prob_detail.php?id=37
더 보기 »오일러 프로젝트 37

오일러 프로젝트 35

소수 중에서 각 자리의 숫자들을 순환시켜도 여전히 소수인 것을 circular prime이라고 합니다. 예를 들어 197은 971, 719가 모두 소수이므로 여기에 해당합니다. 이런 소수는 100 밑으로 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, 97 처럼 13개가 있습니다. 그러면 1,000,000 밑으로는 모두 몇 개나 있을까요? http://euler.synap.co.kr/prob_detail.php?id=35 접근 백만 아래에서 순환하는 모든 소수를 찾아야 한다. 기본적인 범위가 백만 단위이고 수행해야 할 연산도 많기 때문에 만만치 않은 문제인 것처럼 보인다. 일단 범위를 줄이는 것 대신에 숫자를 한자리씩 순환시키는 숫자를… 더 보기 »오일러 프로젝트 35

오일러 프로젝트 34

숫자 145에는 신기한 성질이 있습니다. 각 자릿수의 팩토리얼(계승)을 더하면 1! + 4! + 5! = 1 + 24 + 120 = 145 처럼 자기 자신이 됩니다. 이렇게 각 자릿수의 팩토리얼을 더하면 자기 자신이 되는 모든 수의 합을 구하세요. 단, 1! = 1 과 2! = 2 의 경우는 덧셈이 아니므로 제외합니다.

http://euler.synap.co.kr/prob_detail.php?id=34
더 보기 »오일러 프로젝트 34

Swift 면접질문들

Swift 면접 질문이라는데… 난이도는 그리 높지 않은 편이다. http://www.toptal.com/swift/interview-questions 1 다음 코드를 보고 질문에 답하시오 var array1 = [1, 2, 3, 4, 5] var array2 = array1 array2.append(6) var len = array1.count 문: len 값은 얼마이며, 왜 그런가요? 답: 5. Swift의 Array는 값 시멘틱이며, 다른 변수에 대입하게 되면 복사가 일어난다. 따라서 array2는 array1과는 다른 독립된 사본이며, array2.append(6)가 실행되더라도 array1은 변하지 않는다. 2 다음 코드를 보고 질문에 답하시오 let op1: Int = 1 let op2: UInt = 2 let op3: Double… 더 보기 »Swift 면접질문들

커링함수 코드 만들기

Swift의 차기 버전에서는 자동 커링 함수를 만드는 기능이 제거된다고 한다.  예를 들어 func add(x: Int)(_ y:Int) -> Int { return x + y } let plusOne = add(1) let y = plusOne(4) // y = 5 이런 형태로 함수를 만들 때부터 커링을 지원하도록 하던 기능이 없어진다. 커링함수는 이 기능을 쓰지 않고도 클로저를 리턴하는 함수를 이용해서 만들 수는 있다. func curry <A, B, C>(body: (A, B) -> C) -> A -> B -> C { return { x in { y… 더 보기 »커링함수 코드 만들기

오일러 프로젝트 29

2 ≤ a ≤ 5 이고, 2 ≤ b ≤ 5 인 두 정수 a, b로 만들 수 있는 ab의 모든 조합을 구하면 다음과 같습니다.

22=4, 23=8, 24=16, 25=32, 32=9, 33=27, 34=81, 35=243, 42=16, 43=64, 44=256, 45=1024, 52=25, 53=125, 54=625, 55=3125

여기서 중복된 것을 빼고, 크기 순으로 나열하면 아래와 같은 15개의 숫자가 됩니다.

4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125

그러면, 2 ≤ a ≤ 100이고, 2 ≤ b ≤ 100인 a, b를 가지고 만들 수 있는 ab는 중복을 제외하면 모두 몇 개 입니까?

http://euler.synap.co.kr/prob_detail.php?id=29
더 보기 »오일러 프로젝트 29

오일러 프로젝트 27

오일러는 다음과 같은 멋진 2차식을 제시했습니다.

n^2 + n + 41

이 식의 n에다 0부터 39사이의 숫자를 넣으면, 그 결과는 모두 소수가 됩니다. 하지만 n=40일 때의 값은 41로 나누어지고, n=41일 때 역시 41로 나누어지므로 소수가 아닙니다.

컴퓨터의 발전에 힘입어 n2 – 79n – 1601이라는 엄청난 2차식이 발견되었는데, 이것은 n이 0에서 79사이일 때, 모두 80개의 소수를 만들어냅니다. 이 식의 계수의 곱은 -79 × 1601 = -126479가 됩니다. 아래와 같은 모양의 2차식이 있다고 가정했을 때,(| a | < 1000, | b | < 1000) 0부터 시작하는 연속된 자연수 n에 대해 가장 많은 소수를 만들어내는 2차식을 찾아서 그 계수 a, b의 곱을 구하세요.

http://euler.synap.co.kr/prob_detail.php?id=27
더 보기 »오일러 프로젝트 27