a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

使用C語言求N的階乘的方法

2020-01-26 14:58:34
字體:
來源:轉載
供稿:網友

用遞歸法求N的階乘

程序調用自身稱為遞歸( recursion).它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解.

遞歸的能力在于用有限的語句來定義對象的無限集合。

一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。

#include <stdio.h>#include <string.h>#include <stdlib.h>long factorial(int n){  if(n == 1)    return 1;  else    return n*factorial(n-1);}int main(int argc,char *argv[]){  int n = 0;  if(argc != 2)  {    printf("input error,exit!!/n");    return -1;  }  n = atoi(argv[1]);  printf("%d! = %ld/n",n,factorial(n));  return 0;}

習題示例

題目

    題目描述: 
     輸入一個正整數N,輸出N的階乘。 
    輸入: 
    正整數N(0<=N<=1000) 
    輸出: 
     輸入可能包括多組數據,對于每一組輸入數據,輸出N的階乘 
    樣例輸入: 
    4 
    5 
    15 
    樣例輸出: 
    24 
    120 
    1307674368000 

AC代碼

  #include <stdio.h>   #include <stdlib.h>   #include <string.h>       #define MAX 3000       //存儲每次階乘運算的結果   int str[MAX];       void calculateFactorial(int n);       int main()   {     int n;         while (scanf("%d", &n) != EOF) {       if(n == 0) {         printf("1/n");       } else {         calculateFactorial(n);       }     }         return 0;   }       void calculateFactorial(int n)   {     int i, j, temp, c, len;         memset(str, 0, sizeof(str));     str[1] = 1;         for (i = 2, len = 1; i <= n; i ++) { //循環與2,3,..n相乘       for (j = 1, c = 0; j <= len; j ++) { //str數組代表一個數,模擬與i相乘         temp = str[j] * i + c;         str[j] = temp % 10;         c = temp / 10;       }       while(c > 0)       {         str[j ++] = c % 10;         c /= 10;       }       len = j - 1;     }         for (i = len; i >= 1; i --) {       printf("%d", str[i]);     }     printf("/n");   } 

    /**************************************************************
        Problem: 1076
        User: wangzhengyi
        Language: C
        Result: Accepted
        Time:2150 ms
        Memory:916 kb
    ****************************************************************/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 亚洲欧美一区二区三区在线 | 久久久中文字幕 | 女十八免费毛片视频 | 国产精品久久久久久久久岛 | 国产毛片在线 | 国产一级一级国产 | 国产男人的天堂 | 另类色 | 三级av网站 | 国产精品99一区二区三区 | 久久久蜜桃 | 99综合| 韩日一级片 | 国产精品视频一区二区三区不卡 | 精品久久久久久亚洲综合网站 | 精品国产一区二区三区久久影院 | 亚洲成人在线视频播放 | 国产视频久久 | 国产欧美精品一区二区三区 | 久在线视频 | 欧美在线一区二区三区 | 国产精品一区二区日韩新区 | 国产精品亚洲第一 | 日本午夜电影 | 亚洲精品在线免费播放 | 久久久人成影片一区二区三区 | 日韩免费不卡视频 | 亚洲激情视频 | 一区二区日韩视频 | 爱色av| 中文字幕在线亚洲 | 欧美日韩一区二区三区 | 99色在线视频 | 国内自拍网站 | 欧美视频网址 | 99re久久 | 久久久久久久成人 | 免费国产黄网站在线观看视频 | 三级色网站 | 特级丰满少妇一级aaaa爱毛片 | 亚洲成人国产精品 |