Mr X MYPI

Mr X
접속 : 5108   Lv. 67

Category

Profile

Counter

  • 오늘 : 6 명
  • 전체 : 140921 명
  • Mypi Ver. 0.3.1 β
[자습] Multiples of 3 and 5 (0) 2015/07/15 PM 10:27

<원문>

If we list all the natural number below 10 that are multiples pf 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.


<번역>

10 미만의 자연수에서 3과 5의 배수를 수하면 3, 5, 6, 9이다. 이들의 총합은 23이다.

1000 미만의 자연수에서 3, 5의 배수의 총합을 구하라.



어떻게 구해볼까?



  1. 1. 3의 배수의 리스트를 구하고 5의 배수의 리스트를 구한 다음 그 숫자들을 합한다.

  2. 2. 1에서 1000까지의 숫자중에서 3과 5로 나누에 떨어지는 숫자들의 합을 구한다.


Swift


import Cocoa


var str = "Hello, Playground"

var i, sum_of_multiples_of_3_and_5: Int

sum_of_multiples_of_3_and_5 = 0

for i = 1; i <= 1000; i = i + 1 {
if i % 3 == 0 {
sum_of_multiples_of_3_and_5 = sum_of_multiples_of_3_and_5 + 1
}
if i % 5 == 0 {
sum_of_multiples_of_3_and_5 = sum_of_multiples_of_3_and_5 + 1
}
}

println(sum_of_multiples_of_3_and_5)


이렇게 최초로 작성을 하였는데 역시나 3과 5의 배수중 중복되는 합산 되어 버렸다.


그래서...

1-1. 3과 5의 배수중 중복되는 수(예를 들면 15같은...)의 경우 중복되어서 합산이 되는 경우가 생길 것임.

1-2. 3과 5의 배수중 중복되는 수는 한 쪽을 없애주어야 함

1-3. 이 경우 중복되는 수인지를 판단하게 하는 반복 & 조건문이 추가되어야 함


2-1. 역시 3과 5의 배수중 중복되는 수가 합산 될 수 있음

2-2. 중복되는 수인지를 판단하게하는 반복 & 조건문이 추가 되어야 함


이와 같이 고민을 좀 해보고 수정을...



Swift


import Cocoa


var str = "Hello, playground"

var i, sum_of_multiples_of_3_and_5: Int

sum_of_multiples_of_3_and_5 = 0

for(i = 1; i <= 999; i = i + 1){
if(i % 3 == 0 || i % 5 == 0){
sum_of_multiples_of_3_and_5 = sum_of_multiples_of_3_and_5 + i
}
}

println(sum_of_multiples_of_3_and_5)

objective-C


#import <Cocoa/Cocoa.h>


int main(int argc, const char * argv[]) {

int i, sum_of_multiples_of_3_and_5;

sum_of_multiples_of_3_and_5 = 0;

for (i = 0; i < 1000; i = i + 1) {
if (i % 3 == 0 || i % 5 == 0) {
sum_of_multiples_of_3_and_5 = sum_of_multiples_of_3_and_5 + i;
}
}

printf("1에서 1000까지 수중 3과 5의 배수의 합은 %d이다.", sum_of_multiples_of_3_and_5);

return NSApplicationMain(argc, argv);
}


그러고 보니 레벨1 짜리 문제라서 그런지 좀 쉽...


근데 한 번 틀렸음 부끄...

신고

 
X