首页 » SEO优化 » php年夜数的阶乘技巧_趣味编程|输出大年夜数的阶乘

php年夜数的阶乘技巧_趣味编程|输出大年夜数的阶乘

访客 2024-11-10 0

扫一扫用手机浏览

文章目录 [+]

对付一个较大的数的阶乘,其结果由于位数较多,基本数据类型无法存储。
可以考虑用一个数组来保存结果的每一位。
如打算7的阶乘,仿照过程如下:

每乘一次,考虑每一位的变革,相邻两位之间只需考虑乘数和进位。

php年夜数的阶乘技巧_趣味编程|输出大年夜数的阶乘

直接看代码和注释:

php年夜数的阶乘技巧_趣味编程|输出大年夜数的阶乘
(图片来自网络侵删)

#include <iostream>using namespace std;#define N 10000long facLoop(int n) // 循环实现小数的阶乘{long sum=1;for(int i=2; i<=n; i++)sum=i;return sum;}long facRecur(int n) // 递归实现小数的阶乘{if(n==0)return 1;elsereturn nfacRecur(n-1);}void facBig(int m){/ 大数阶乘,利用数组来存储每一位:1 初始值a[0]=1;2 i=1,2,…,m循环;3 j从1开始循环。
逐位乘i并加上前一位的进位,并将前一位只保留个位数; /int a[N]={1};// a[0]=1,别的各位全为0for(int i=2; i<=m; i++)// 阶乘数的循环{a[0] = i;// 个位做为基准位for(int j=1; j<N; j++){a[j] = a[j]i +a[j-1]/10;// 逐位乘i并加上前一位的进位a[j-1] %=10;// 前一位只保留个位数}}int n = N-1;while(a[n]==0)n--;// 从最高位找到第一个非零数cout<<m<<"!有"<<n+1<<"位,"<<"=\n";for(;n>=0; n--)cout<<a[n];cout<<""<<endl;}int main(){int m;// 须要打算阶乘的数cout<<"请输入须要打算阶乘的数:";cin>>m;cout<<facLoop(m)<<endl;cout<<facRecur(m)<<endl;facBig(m); getchar();getchar();return 0;}/请输入须要打算阶乘的数:1247900160047900160012!有9位,=479001600/22364245120672075040/请输入须要打算阶乘的数:22-522715136-52271513622!有22位,=1124000727777607680000/

请输入须要打算阶乘的数:55500555!有1284位,=661408560927794670909833167124276990212353194561078966630610091508066518398462938708570165931453818774346806677937487622941296716409901122180791183381615199180133649323135568584492485536333258769584469786383591661922104266566863913614070698138881545530808522346156055053115762262612679476256481322688203567171111038254916285768948868390683387427561794062346854491689633073215348773710363218016157511181863057926134577070731221701301152592821760868454925199903505386017787199554004695300736714548162986647886019771379144075642172619449355885906311490931562018599832173006150698910081357711177369686310362939324425024584999311539904643730800189147272918915911770251276375152459026027462464002063813902395684537655374791000270699823191370607631655257869634515506590089013974314269381678319888713892407305906053693865079154285101747723299382026182512365914527438847783156831674629869733219475045947728356608604070725171727115599864469722301348700056888092787342824689113236014679770929700834913475709726807511726110607658874785711823552896770088837953463376048502815279955957922924689302538415337162205637471098765281762231617571867644711936978426265600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-End-

标签:

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读1 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0