n的阶乘

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-07 16:51:39

#include <iostream>
using namespace std;

// n的阶乘 -- 1. 递归方法(必须要是返回值函数,而不能是void类型函数)
int factorial1(int n)
{
  if (n <= 0)
    printf("值为负数,不能判断!!!\n\n");
  else if (n==1)
    return 1;
  else
    return n * factorial1(n - 1);
}

// n的阶乘 -- 2. 循环方法
int factorial2(int n)
{
  int mul=1;
  while (true) {
    mul *= n;
    n--;
    if (n == 1)
      break;
  }
  return mul;
}

int main()
{
  int n;
  cin >> n;
  printf("递归:数 %d 的阶乘是 %d\n", n,factorial1(n));
  printf("循环:数 %d 的阶乘是 %d\n", n, factorial2(n));;
  return 1;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!