中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在C語言中計算大數階乘

發布時間:2021-05-10 15:54:36 來源:億速云 閱讀:224 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關如何在C語言中計算大數階乘,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

C語言是什么

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發,使用C語言可以以簡易的方式編譯、處理低級存儲器。

問題描述

輸入一個正整數n,輸出n!的值。
其中n!=1*2*3*…*n。

算法描述

n!可能很大,而計算機能表示的整數范圍有限,需要使用高精度計算的方法。使用一個數組A來表示一個大整數a,A[0]表示a的個位,A[1]表示a的十位,依次類推。
將a乘以一個整數k變為將數組A的每一個元素都乘以k,請注意處理相應的進位。

輸入格式

輸入包含一個正整數n,n<=1000。

輸出格式

輸出n!的準確值。

樣例輸入

10

樣例輸出

3628800

#include <stdio.h>
#define N 10000
int main()
{
 int a[N]={1};
 int k=0,l=1,n;
 int i,j;
 scanf("%d",&n);
 for(i=1;i<=n;i++)
 {
  for(j=0;j<l;j++)
  {
   a[j]=a[j]*i+k;
   k=a[j]/10000;
   a[j]=a[j]%10000;
  }
  if(k)
  {
   a[j]=k;
   l++;
   k=0;
  }
 }
 printf("%d",a[l-1]);
 for(i=l-2;i>=0;i--)
  printf("%04d",a[i]);
 printf("\n");
 return 0;
}

看完上述內容,你們對如何在C語言中計算大數階乘有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

井陉县| 金溪县| 成武县| 奇台县| 平安县| 凤庆县| 驻马店市| 海林市| 扬州市| 布尔津县| 电白县| 景东| 马山县| 门源| 琼中| 阿拉善左旗| 揭阳市| 白银市| 长葛市| 兰坪| 通道| 泰顺县| 敦化市| 齐河县| 平陆县| 河西区| 榆社县| 江华| 长顺县| 四会市| 邵武市| 辽宁省| 皮山县| 林州市| 台湾省| 龙里县| 顺昌县| 平利县| 绍兴市| 长武县| 嘉善县|