階乗



ループで階乗を求める


C
#include<stdio.h>
unsigned int factorial( unsigned int n)
{
  unsigned int result = 1;
  while(n != 0) result *= n, --n;
  return result
}
int main( void )
{
  int n;
  printf("nを入力:");
  scanf("%d", &n);
  printf("%dの階乗は%d\n", n, factorial(n));
  return 0;
}

再帰で階乗を求める


C
#include<stdio.h>
unsigned int factorial( unsigned int n)
{
  return n == 0 ? 1 : n * factorial(n-1);
}
int main( void )
{
  int n;
  printf("nを入力:");
  scanf("%d", &n);
  printf("%dの階乗は%d\n", n, factorial(n));
  return 0;
}

タグ:

+ タグ編集
  • タグ:
最終更新:2010年08月05日 23:04