데일리 codeup/단순 반복문

cnt 활용하기, sum계산하기_220703

hayo_su 2022. 7. 3. 13:30

cnt 활용하기

조건을 만족하는 개수 세기


배수의 개수 2

10개의 숫자 중 홀수의 개수를 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int a, cnt = 0;
    for (int i=0;i<10;i++){
        cin >> a;
        if(a % 2 == 1)  cnt++;
    }
    cout << cnt << endl;
    return 0;
}

배수의 개수

10개의 숫자가 주어졌을 때, 3의 배수의 개수와 5의 배수의 개수를 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int n, ans3 = 0, ans5 = 0;
    for(int i=0;i<10;i++){
        cin >> n;
        if(n%3==0)  ans3++;
        if(n%5==0)  ans5++;
    }
    cout << ans3 << ' ' << ans5;
    return 0;
}

청소당번 정하기

2일마다 교실 청소를, 3일마다 복도 청소를, 12일마다 화장실 청소를 합니다. 날짜가 겹치는 날에는 주기가 더 긴 것을 하기로 했습니다. n일간 진행했을 때 각 장소의 청소 횟수를 차례로 출력하는 프로그램을 작성해주세요.

#include<iostream>
using namespace std;
int main(){
    int days;
    cin >> days;
    cout<< days/2-days/6 << ' ' << days/3-days/12 << ' ' << days/12;
    return 0;
}

윤년 횟수 구하기

n이 주어지면 1년부터 n년까지 윤년이 총 몇 번 있었는지를 구하는 프로그램을 작성해보세요. 윤년일 조건은 다음과 같습니다.

  • 4의 배수라면 윤년입니다.
  • 4의 배수이면서 100의 배수라면 윤년이 아닙니다.
  • 4의 배수이면서 100의 배수지만 또한 400의 배수라면 윤년입니다.
  • 나머지 경우에는 윤년이 아닙니다.
#include<iostream>
using namespace std;
int main(){
    int n, cnt = 0;
    cin >> n;
    for(int i=1;i<=n;i++){
        if(i%4==0 && (i%100!=0 || i%400==0))    cnt++;
    }
    cout << cnt;
    return 0;
}

등장횟수 확인

5개의 숫자가 주어졌을 때, 짝수가 몇 번 등장했는지 확인해보는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int n,cnt=0;
    for(int i=0;i<5;i++){
        cin >> n;
        if(n%2==0)  cnt++;
    }
    cout << cnt;
    return 0;
}

sum계산하기


a부터 b까지의 합

a, b 두 자연수를 입력받아 a부터 b까지의 합을 구해 출력하는 프로그램을 작성해보세요

#include<iostream>
using namespace std;
int main(){
    int a, b, sum=0;
    cin >> a >> b;
    for(int i=a;i<=b;i++){
        sum+=i;
    }
    cout << sum;
    return 0;
}

100부터 입력받는 수까지의 합

100 이하의 정수 n을 입력받은 후, n부터 100까지의 합을 구하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int n,sum_val = 0;
    cin >> n;
    for(int i=n;i<=100;i++) sum_val += i;
    cout << sum_val;
    return 0;
}

숫자 사이의 배수

두 개의 정수 a, b를 입력받아 a와 b 사이에 5 또는 7의 배수들의 합과 평균을 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int a, b, sum_val = 0, cnt = 0;
    cin >> a >> b;
    for(int i=a;i<=b;i++){
        if(i%5==0||i%7==0)  {
            sum_val+=i;
            cnt ++;
        }
    }
    cout << fixed;
    cout.precision(1);
    cout << sum_val << ' ' << (double)sum_val/cnt;
    return 0;
}

특정 조건 배수의 합

정수 a, b를 입력받은 후, 두 숫자의 사이 중 5의 배수만을 합하여 구하는 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int a, b, sum_val = 0;
    cin >> a >> b;
    for(int i=(a>b?b:a);i<=(a>b?a:b);i++)   if(i%5==0)  sum_val += i;
    cout << sum_val;
    return 0;
}

a부터 b까지 짝수의 합

a, b 두 자연수를 입력받아 a부터 b까지 짝수의 합을 구해 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int a, b, sum_val = 0;
    cin >> a >> b;
    for(int i=(a+1)/2*2;i<=b;i+=2)  sum_val+=i;
    cout << sum_val;
    return 0;
}

범위 안의 수 2

10개의 정수가 주어집니다. 입력으로 주어지는 수들 중 0부터 200 사이에 있는 정수들의 합과 평균을 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int n, sum_val=0, cnt = 0;
    for(int i=0;i<10;i++){
        cin >> n;
        if(0 <= n && n <= 200){
            sum_val += n;
            cnt ++;
        }
    }
    cout<<fixed;
    cout.precision(1);
    cout << sum_val << ' ' << (double)sum_val/cnt;
    return 0;
}

완전수 판별기

숫자 n이 주어졌을 때, n이 완전수인지 판단하는 프로그램을 작성해보세요. 완전수란 자기 자신을 제외한 약수의 합이 자신이 되는 수를 나타냅니다. 예를 들어 6의 경우 1 + 2 + 3 = 6 이기 때문에 완전수입니다.

#include<iostream>
using namespace std;
int main(){
    int n, sum_val = 0;
    cin >> n;
    for(int i=1;i<n;i++){
        if(n%i==0)  sum_val+=i;
    }
    if(sum_val == n)    cout<<"P";
    else    cout<<"N";
    return 0;
}

입력받은 수의 합과 평균

자연수 n을 입력받고, n개의 정수를 입력받아 합계와 평균을 출력하는 프로그램을 작성해보세요.

#include<iostream>
using namespace std;
int main(){
    int n,tmp, sum_val = 0;
    cin >> n;
    for(int i=0;i<n;i++){
        cin >> tmp;
        sum_val += tmp;
    }
    cout<<fixed;
    cout.precision(1);
    cout << sum_val << ' ' << (double)sum_val/n;
    return 0;
}

총합 구하기

두 정수 a, b를 입력받고, a와 b 사이에서 다음 조건에 맞는 수들의 합을 구하는 프로그램을 작성해보세요.

  • 6의 배수이면서, 8의 배수가 아닌 수
#include<iostream>
using namespace std;
int main(){
    int a, b, sum_val = 0;
    cin >> a >> b;
    for(int i=a;i<=b;i++){
        if(i%6==0 && i%8!=0)    sum_val+=i;
    }
    cout << sum_val;
    return 0;
}