ループで階乗を求める
解答例
#include <stdio.h>
int main(void)
{
int i, n, kaijo;
printf("入力: "); scanf("%d", &n);
kaijo = 1;
i = n;
while (i >= 1) {
kaijo = kaijo * i;
--i;
}
printf("%dの階乗は%d\n", n, kaijo);
return 0;
}
forループで階乗を求める
解答例
#include <stdio.h>
int main(void)
{
int i, n, kaijo = 1;
printf("入力: "); scanf("%d", &n);
for (i = 1; i <= n; i++) {
kaijo *= i;
}
printf("%dの階乗は%d\n", n, kaijo);
return 0;
}
再帰関数で階乗を求める
解答例
#include <stdio.h>
int fac(int n) {
if (n == 0) {
return 1;
} else {
return n * fac(n-1);
}
}
int main(void)
{
int n;
printf("入力: "); scanf("%d", &n);
printf("%dの階乗は%d\n", n, fac(n));
return 0;
}
-
最終更新:2014年05月08日 04:05