์ƒˆ์†Œ์‹

๐Ÿ‘ฉ‍๐Ÿ’ป C

C์–ธ์–ด - ํ•จ์ˆ˜ , ์žฌ๊ท€ ํ•จ์ˆ˜ , (factorial)

  • -

*ํ•จ์ˆ˜

ํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋ถ€๊ฐ€ํ•ด ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ• ๋•Œ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜๋ณต๋˜๋Š”๊ฒƒ์„ ์ค„์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜์ž๋ฃŒํ˜• ํ•จ์ˆ˜๋ช… (๋งค๊ฐœ๋ณ€์ˆ˜){

    //์ˆ˜ํ–‰๋  ๋ช…๋ น์–ด

    return ๋ฐ˜ํ™˜ํ•  ๊ฐ’;

}

 

*ํ•จ์ˆ˜ ์˜ˆ์ œ 1 : ๋”ํ•˜๊ธฐ ๊ธฐ๋Šฅ ํ•จ์ˆ˜(add)

#include <stdio.h>
int add(int a , int b){
    return a+b;
}
int main(void){
    printf("%d\n", add(10,20));
}

 

*ํ•จ์ˆ˜ ์˜ˆ์ œ 2 : ์‚ฌ์น™์—ฐ์‚ฐ ํ•จ์ˆ˜ (calculator)

#include <stdio.h>
void calculator(int a , int b){
    printf("%d + %d = %d\n", a, b, a+b);
    printf("%d - %d = %d\n", a, b, a-b);
    printf("%d * %d = %d\n", a, b, a*b);
    printf("%d / %d = %d\n\n", a, b, a/b);
}
int main(void){

    calculator(12,5);
    calculator(3,9);
    calculator(13,58);
}

 

 

 

 

 

* ์žฌ๊ท€ํ•จ์ˆ˜

์žฌ๊ท€ํ•จ์ˆ˜๋ž€ ์ž๊ธฐ ์ž์‹ ์„ ํฌํ•จํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž๊ธฐ์ž์‹ ์„ ๊ณ„์†ํ•ด์„œ ๋ถˆ๋Ÿฌ๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ๊ณผ ์œ ์‚ฌํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง€์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ข…๋ฃŒ ์กฐ๊ฑด์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

*์žฌ๊ท€ํ•จ์ˆ˜ ์˜ˆ์ œ 1 : ํŒฉํ† ๋ฆฌ์–ผ ๊ตฌํ•˜๊ธฐ

#include <stdio.h>

int factorial(int a){
    if (a==1) return 1;
    else return a* factorial(a-1);
}

int main(void){
    int n;
    printf("n! = ?\n");
    scanf("%d", &n);
    printf("%d\n", factorial(n));

}

 factorial์— 5๋ฅผ ๋„ฃ๊ฒŒ๋˜๋ฉด (factorial(5))

์—ฐ์‚ฐ์€ 5 * factorial(4) ๊ฐ€๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ 5 * 4 * factorial(3)

๊ทธ๋‹ค์Œ์€ 5 * 4 * 3 * factorial(2) .....

์ด๋Ÿฐ์‹์œผ๋กœ ๋งˆ์ง€๋ง‰์— ์ข…๋ฃŒ์กฐ๊ฑด , ์ฆ‰ factorial(1)์€ 1์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋” ์ด์ƒ ์ž๊ธฐ์ž์‹ ์„ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 

factorial(5) = 5 * 4 * 3 * 2 * 1 ๋กœ ๋งˆ๋ฌด๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.