C언어

C++ 반복문 연습문제

peripheral 2024. 4. 3. 23:11

연속해서 입력받은 후 최소값 (또는 최대값) 구하기

#include <iostream>

int main() {
    int number;
    int min = 256;
    while (std::cin >> number)
    {
        if (number < min) min = number;
    }
    std::cout << min;
}

약수 구하기

#include <iostream>

int main() {
    int number, divisor = 1;
    std::cout << "해당 숫자의 약수를 구한다: ";
    std::cin >> number;

    while (divisor < number) {
        if (number % divisor == 0)
            std::cout << divisor << ", ";
        divisor++;
    }
    std::cout << number;
}

트리(피라미드)만들기

#include <iostream>

int main() {
    int height;
    int row = 1;
    std::cout << "높이: ";
    std::cin >> height;

    for (int i = 0; i < height; i++) {
        for (int k = 0; k < height - row; k++)
            std::cout << " ";

        for (int j = 0; j < 1 + i * 2; j++)
            std::cout << "*";
        std::cout << std::endl;
        row++;
    }
}
높이: 10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

소수 출력하기

while 문

#include <iostream>

int main() {
    int value = 2, number;
    int i;
    std::cout << "다음 숫자까지 소수를 출력: ";
    std::cin >> number;

    while (value <= number) {
        bool is_prime = true;
        for (int i = 2; i < value; ++i) {
            if (value % i == 0) {
                is_prime = false;
                break;
            }
        }
        if (is_prime == true)
            std::cout << value << " ";
        value++;
    }
}

for 문

#include <iostream>

int main() {
    int number;
    std::cout << "다음 숫자까지 소수를 출력: ";
    std::cin >> number;

    for (int value = 2; value <= number; ++value) {
        bool is_prime = true;
        for (int trial_factor = 2; is_prime && trial_factor < value; ++trial_factor) {
            is_prime = (value & trial_factor != 0);
        }
        if (is_prime)
            std::cout << value << " ";
    }
}

결과

다음 숫자까지 소수를 출력: 25
2 3 5 7 11 13 17 19 23
C:\Users\moonc\Desktop\temporary\x64\Debug\temporary.exe (process 34012) exited with code 0.
Press any key to close this window . . .