๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ’๏ธ C++ programming/Practice & Tips

[Practice & Tips] Practice 3 : ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ ํ˜ผํ•ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ

by A Lim Han 2022. 5. 2.

 

# ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ ํ˜ผํ•ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ

 

 

A. ๋žœ๋คํ•œ ๋ฒ”์œ„ ๋‚ด์— ์ž…๋ ฅํ•œ ํŠน์ •ํ•œ ๋ฐฐ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํŠน์ •ํ•œ ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

 

< ์œ ์˜ ์‚ฌํ•ญ >

1. ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ž…๋ ฅํ•œ ์ˆ˜๋ฅผ ํŠน์ • ๋ฐฐ์ˆ˜์˜ ๊ฐ’์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.

2. ์ž…๋ ฅ๋ฐ›์„ ํŠน์ • ๋ฐฐ์ˆ˜์˜ ๊ฐ’์„ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋ฐ˜๋“œ์‹œ ํŠน์ • ๋ฐฐ์ˆ˜๋งŒ, ๋˜๋Š” ํŠน์ • ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•˜์—ฌ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

4. ์ถœ๋ ฅ๊ฐ’์„ ์ถœ๋ ฅํ•  ๋•Œ ๊ฐ™์€ ํŠน์ • ๋ฐฐ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๋‘ ๋ฒˆ์งธ, ์„ธ ๋ฒˆ์งธ ์ถœ๋ ฅ๊ฐ’์ด ์—ฐ๋‹ฌ์•„ ์ถœ๋ ฅ๋˜์•ผ ํ•œ๋‹ค.

 

 

 

 

 

 

< ์ž‘์„ฑํ•œ ์ฝ”๋“œ >

 

 


//๋žœ๋คํ•œ ๋ฒ”์œ„ ๋‚ด์— ์ž…๋ ฅํ•œ ํŠน์ •ํ•œ ๋ฐฐ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ๋žœ๋คํ•œ ๋ฒ”์œ„ ๋‚ด์˜ ํŠน์ •ํ•œ ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์—ฌ๋ผ.

#include <iostream> // # ์ „์ฒ˜๋ฆฌ๊ธฐ์— ๋‚ด๋ฆฌ๋Š” ์ง€์‹œ๋ฌธ <ํ—ค๋”:ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์„ ์œ„ํ•œ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๊ฐ€ ์„ ์–ธ๋จ. ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋ฐ ํ™”๋ฉด ์ถœ๋ ฅ ์‹œ ํ•„์š”>
#include <stdlib.h> // ์™ผ์ชฝ์€ ๋žœ๋คํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. -> ๋žœ๋คํ•œ ๋ฒ”์œ„ ๋‚ด์—์„œ ํŠน์ • ๋ฐฐ์ˆ˜, ๋˜๋Š” ํŠน์ • ๋ฐฐ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์ˆ˜๋งŒ์„ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๊ธฐ์— ํ•„์š”ํ•œ ์ฝ”๋“œ
#include <time.h> // ์œ„ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹จ ํ•˜๋‚˜์˜ ๋žœ๋คํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ -> ๋”ฐ๋ผ์„œ ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ๋žœ๋คํ•จ์ˆ˜๋ฅผ ๋‚˜์˜ค๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•จ.

using namespace std;

int main()
{
    srand(time(NULL)); //์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๋Œ€๋กœ, ํ•˜๋‚˜์˜ ๋žœ๋คํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ์„œ ๊ทธ์น˜์ง€ ์•Š๊ณ  ๊ณ„์†ํ•˜์—ฌ ๋ฐ”๋€ ๋žœ๋คํ•จ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋„๋ก ํ•ด์คŒ.
    int num = rand() % 100; // ์™ผ์ชฝ์˜ ์ฝ”๋“œ๋Š” -> ๋žœ๋คํ•œ ์ˆ˜=๋ณ€์ˆ˜ num

  
    cout << "๋žœ๋คํ•œ ์ˆ˜:" << num << endl; // ๊ทธ๋ƒฅ ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๊ฒŒ ํ•˜๋Š” ์ฝ”๋“œ

    int multiple; //ํŠน์ •๋ฐฐ์ˆ˜ ๊ฐœ์ˆ˜ -> ๋ณ€์ˆ˜ -> multiple

    cout << "ํŠน์ • ๋ฐฐ์ˆ˜ ๊ฐœ์ˆ˜:";
    cin >> multiple;  //ํŠน์ •๋ฐฐ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ. ์ด๋•Œ ๊ณต๋ฐฑ์„ ์ž…๋ ฅ๋ฐ›๊ฑฐ๋‚˜ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด ์ด์ „๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์€ 
                      //๋ชจ๋‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•ด์•ผ ํ•œ๋‹ค.

    int specific; //ํŠน์ •๋ฐฐ์ˆ˜์˜ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•œ๋‹ค -> specific
    for (int i = 0; i < multiple; i++) // for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ •๋œ ๋ฐฐ์ˆ˜์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ํ•จ.
    {
        cout << "<ํŠน์ •๋ฐฐ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ>" << endl;
        cout << i << "๋ฒˆ์งธ ํŠน์ •๋ฐฐ์ˆ˜:";
        cin >> specific; // ํŠน์ •๋˜์–ด์ง„ ๋ฐฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ

        cout << "<ํŠน์ •๋ฐฐ์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ>" << endl;
        int j = 1;
        do //do while ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ •๋œ ๋ฐฐ์ˆ˜์— 1๋ถ€ํ„ฐ 1์”ฉ ์ฆ๊ฐ€ํ•œ ๊ฐ’์„ ๊ณฑํ•œ ๋‹ค์Œ ์ถœ๋ ฅ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.
            //์–ธ์ œ๊นŒ์ง€?-> ๊ณฑ์ด ๋žœ๋คํ•œ ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๊ธฐ ์ „๊นŒ์ง€
        {
            cout << j * specific << ",";
            j++;
        } while (j * specific <= num);

        cout << " " << endl; // ์ค„์„ ๋ฐ”๊พธ์–ด์ฃผ๊ธฐ ์œ„ํ•œ ๊ณผ์ •!

        cout << "<ํŠน์ •๋ฐฐ์ˆ˜ ์ œ์™ธ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ>" << endl;
        for (j = 1; j <= num; j++) // for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋žœ๋ค์œผ๋กœ ๊ฒฐ์ •๋œ ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๊ธฐ ์ „๊นŒ์ง€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
        {
            if (j % specific == 0) // if ์กฐ๊ฑด๋ฌธ์„ ์ด์šฉํ•œ๋‹ค -> ๋งŒ์•ฝ ํŠน์ • ๋ฐฐ์ˆ˜๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ผ๋ฉด 
                                  // 'continue ์ œ์–ด๋ฌธ'์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋˜๋Š” ๊ณผ์ •์„ ๋ฉˆ์ถ˜๋‹ค. -> ์ดํ›„ ๋ฐ˜๋ณต๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ.
                //if ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด ๊ทธ๋ƒฅ ์ถœ๋ ฅํ•œ๋‹ค.
                continue;
            cout << j << ",";
        }

        cout << " " << endl;

    }


    return 0;

}

 

 

 

< ๋ >