create account

[C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오? by codingman

View this thread on: hive.blogpeakd.comecency.com
· @codingman · (edited)
$2.22
[C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오?
# [C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오?
---
- 다운 사이트 : https://sourceforge.net/projects/orwelldevcpp/
- 웹컴파일러 : https://www.tutorialspoint.com/compile_c_online.php
---
오늘은 Project Euler 사이트에 있는 문제 하나가 재밌는 것이 있어서 한번 풀어 봅니다.

# 1. 10보다 작은 자연수 중 3 or 7의 배수의 합을 구하자!
---
원래는 원본 문제로 3 or 5의 배수여야 하는데 배수의 숫자를 변경하여 한번 구해 보았습니다.

10보다 작은 자연수 범위를 구해야 합니다.
```
for(int i=1;i<10;i++){

}
```
이렇게 for문 i을 1부터 10까지 루프를 돌리면 됩니다. 여기서 i의 값은 1~10까지의 숫자로 루프를 돌겠죠.

이때, i가 3의 배수인가 7배수 인지만 알아내면 됩니다.
```
if(i%3==0) cout<<i<<endl;
else if(i%7==0)  cout<<i<<endl;
```
이렇게 말이죠. i를 3으로 나눈 나머지가 0이면 3의 배수이고 7로 나눈 나머지가 0이면 7의 배수가 됩니다. 

그러면 실제 3 or 7의 배수가 정확히 추출되는지 몰까요.

```
for(int i=1;i<10;i++){
	if(i%3==0) cout<<i<<endl;
	else if(i%7==0)  cout<<i<<endl;
}
```
**[결과]**
![a1.jpg](https://cdn.steemitimages.com/DQmSATn1pcautXxZjbGfdoTq4CuEVbktyywM7nwZEyMMjy7/a1.jpg)

정확히 추출 되었네요.

그럼 3 or 7배수인 자연수들을 더해 볼까요.

```
for(int i=1;i<10;i++){
	if(i%3==0) sum+=i;
	else if(i%7==0) sum+=i;
}
```
이렇게 각 3의 배수인 수와 7개 배수인 수를 각각 sum변수에 더하면 됩니다. 그러면 총 합은 3의 배수 or 7의 배수인 수들의 합을 구할 수 있게 됩니다.

## 2. 코딩
---
그러면 실제 문제로 N보다 작은 자연 수 중 a or b의 배수의 합을 구해 볼까요.

**[전체소스]**
```
#include <iostream>

using namespace std;


int main(int argc, char** argv) {
	int n, a, b;
	int sum=0;
	
	cout<<"자연수 N과 두개의 배수 A, B를 입력 하시오? ";
	cin>>n>>a>>b;
	
	for(int i=1;i<10;i++){
		if(i%3==0) sum+=i;//cout<<i<<endl;
		else if(i%7==0) sum+=i; //cout<<i<<endl;
	}
	cout<<"자연수 "<<n<<"보다 작은 "<<a<<", "<<b<<"의 배수의 합 : "<<sum<<endl;
	
	return 0;
}
```
위 코딩은 자연수 N과 2개의 배수 a,b를 입력을 받도록 코딩했습니다.

**[결과]**
![a3.jpg](https://cdn.steemitimages.com/DQmTxPBu5GCY7q2upojFYFeZHmPizPtM9KwaXqDWJYoA2fh/a3.jpg)

## 마무리
---
자연수 N과 a,b를 입력하여 자연수 N보다 작은 자연수 중 a or b의 배수인 수들을 찾아 내어 합을 구하는 코딩을 해 보았습니다. 위 코딩에서는 설명한 3 or 7의 배수들의 합을 구했지만 테스트 하실 때는 다른 자연수와 배수들을 입력해서 그 결과를 확인 해 보시기 바랍니다.

---

#####  <sub> **Sponsored ( Powered by [dclick](https://www.dclick.io) )** </sub>
[![dclick-imagead](https://s3.ap-northeast-2.amazonaws.com/dclick/image/jacobyu/1560603830043.png)](https://api.dclick.io/v1/c?x=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjIjoiY29kaW5nbWFuIiwicyI6ImMtNS1uLWEtb3ItYi0tMTU2MDgxNDYxODUyNiIsImEiOlsiaS0zNzYiXSwidXJsIjoiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5hcHAuc20uc3BlYWtpbmdtYXN0ZXIiLCJpYXQiOjE1NjA4MTY1NTYsImV4cCI6MTg3NjE3NjU1Nn0.Au5HqE8YvcCPzdZPiBG0DS7tc5LHNQHNWhzmXKCHodU)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorcodingman
permlinkc-5-n-a-or-b--1560814618526
categorykr-dev
json_metadata{"tags":["kr-dev","jjm","busy","kr","roadofrich"],"app":"dclick.app","format":"markdown","community":"busy","users":[],"links":["https://sourceforge.net/projects/orwelldevcpp/","https://www.tutorialspoint.com/compile_c_online.php","https://www.dclick.io","https://api.dclick.io/v1/c?x=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjIjoiY29kaW5nbWFuIiwicyI6ImMtNS1uLWEtb3ItYi0tMTU2MDgxNDYxODUyNiIsImEiOlsiaS0xOTUiXSwidXJsIjoiaHR0cHM6Ly93d3cuZGNsaWNrLmlvL21vbmV0aXplIiwiaWF0IjoxNTYwODE0NjE4LCJleHAiOjE4NzYxNzQ2MTh9.qylki2AUeo4mRZ7um0YUa6lKn2KAXDNztAB479DbJp8"],"image":["https://cdn.steemitimages.com/DQmSATn1pcautXxZjbGfdoTq4CuEVbktyywM7nwZEyMMjy7/a1.jpg","https://cdn.steemitimages.com/DQmTxPBu5GCY7q2upojFYFeZHmPizPtM9KwaXqDWJYoA2fh/a3.jpg","https://s3.ap-northeast-2.amazonaws.com/dclick/image/dclick/1552477485946.png"]}
created2019-06-17 23:37:00
last_update2019-06-18 00:09:18
depth0
children2
last_payout2019-06-24 23:37:00
cashout_time1969-12-31 23:59:59
total_payout_value1.675 HBD
curator_payout_value0.546 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,352
author_reputation23,188,231,710,844
root_title"[C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오?"
beneficiaries
0.
accountdclick
weight1,000
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id86,812,304
net_rshares4,236,016,241,289
author_curate_reward""
vote details (35)
@virus707 ·
Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.
properties (22)
authorvirus707
permlinkre-c-5-n-a-or-b--1560814618526-1560852289
categorykr-dev
json_metadata{"tags":["jjm"]}
created2019-06-18 10:04:45
last_update2019-06-18 10:04:45
depth1
children1
last_payout2019-06-25 10:04:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length203
author_reputation557,563,606,581,756
root_title"[C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id86,837,216
net_rshares0
@codingman ·
Thank you
properties (22)
authorcodingman
permlinkptapu1
categorykr-dev
json_metadata{"tags":["kr-dev"],"app":"steemit/0.1"}
created2019-06-18 13:08:27
last_update2019-06-18 13:08:27
depth2
children0
last_payout2019-06-25 13:08:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9
author_reputation23,188,231,710,844
root_title"[C++ 언어-기초실습-5] N보다 작은 자연수 중 a or b의 배수의 합을 구하시오?"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id86,846,503
net_rshares0