首页 > 编程语言 >“高精度算法”思想 → 大数阶乘

“高精度算法”思想 → 大数阶乘

时间:2024-12-25 22:28:48浏览次数:6  
标签:blog 高精度 int 大数 hnjzsyjyj csdn 阶乘 article

【“大数阶乘”算法思想】
利用“高精度算法”思想计算“大数阶乘”,需要明确几个关键点:
(1)数组 a 的大小(maxn)需要足够大,以存储阶乘结果的所有位数。
(2)数组 a 应该在函数外部被初始化为全零,并且第一个元素应该设置为 1,表示阶乘的初始值。
(3)在计算过程中,数组 a 的每一位都会被更新,以反映当前的阶乘值。
(4)最后,需要逆序输出数组 a 中的非零元素,以得到正确的阶乘结果。

【算法代码】

#include <bits/stdc++.h>
using namespace std;

const int maxn=105;
int a[maxn]= {1}; //{1,0,0,…,0}

void hiFac(int n) {
    for(int k=1; k<=n; k++) {
        int t=0;
        for(int i=0; i<maxn; i++) {
            a[i]=t+a[i]*k;
            t=a[i]/10;
            a[i]%=10;
        }
    }

    int len=n;
    while(len>1 && a[len-1]==0) len--;
    for(int i=len-1; i>=0; i--) cout<<a[i];
}

int main() {
    int n;
    cin>>n;

    if(n==0) cout<<1<<endl;
    else hiFac(n);

    return 0;
}



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/144656955
https://blog.csdn.net/hnjzsyjyj/article/details/144661288
https://blog.csdn.net/hnjzsyjyj/article/details/144681546
https://blog.csdn.net/hnjzsyjyj/article/details/144684313

 


 

标签:blog,高精度,int,大数,hnjzsyjyj,csdn,阶乘,article
From: https://blog.csdn.net/hnjzsyjyj/article/details/144728372

相关文章

  • 基于Python大数据的电影可视化分析系统
    标题:基于Python大数据的电影可视化分析系统内容:1.摘要本文介绍了一个基于Python大数据的电影可视化分析系统。该系统通过收集和分析大量电影数据,提供了对电影市场的深入洞察。文章首先介绍了系统的背景和目的,然后详细描述了系统的架构和功能。接着,文章介绍了系统的实现......
  • redis十大数据类型
    redis字符串(String)String(字符串)string是redis最基本的类型,一个key对应一个valuestring类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。redis列表(list)List......
  • 开发一个高精度的人脸识别系统
    1.系统需求分析1.1识别精度要求高精度人脸识别系统的核心需求之一是识别精度。根据最新的研究和行业标准,一个高精度的人脸识别系统需要达到以下精度要求:误识率(FalseAcceptanceRate,FAR):系统错误地将非注册人员识别为注册人员的概率应低于0.01%,即在10000次尝试中,错误......
  • Transformer大数据分布式因果推断在美团履约平台的探索与实践14
     1.背景中国有句古话:“民以食为天”。对食物的分析和理解,特别是识别菜肴的食材,在健康管理、卡路里计算、烹饪艺术、食物搜索等领域具有重要意义。但是,算法技术尽管在目标检测[1]-[3]、通用场景理解[4][5]和跨模态检索[6]-[8]方面取得了很大进展,却没有在食物相关的场景中取得......
  • Transformer大数据分布式因果推断在美团履约平台的探索与实践12
     1.背景中国有句古话:“民以食为天”。对食物的分析和理解,特别是识别菜肴的食材,在健康管理、卡路里计算、烹饪艺术、食物搜索等领域具有重要意义。但是,算法技术尽管在目标检测[1]-[3]、通用场景理解[4][5]和跨模态检索[6]-[8]方面取得了很大进展,却没有在食物相关的场景中取得......
  • 【Leetcode 每日一题】1705. 吃苹果的最大数目
    问题背景有一棵特殊的苹果树,一连nnn天,每天都可以长出若干个苹果。在第ii......
  • (2024最新毕设合集)基于SpringBoot的小说在线阅读网咖+86615|可做计算机毕业设计JAVA、P
    目 录摘要1绪论1.1 选题背景1.2研究内容1.3本文的组织结构2相关技术介绍2.1MySQL数据库2.2Java编程语言2.3SpringBoot框架介绍3 系统需求分析与设计3.1可行性分析3.1.1技术可行性分析3.1.2经济可行性分析3.1.3法律可行性分析3.2需......
  • Java 大视界 -- Java 构建大数据开发环境:从 JDK 配置到大数据框架集成(一)
           ......
  • 大数据面试笔试宝典之算法面试
    1.快速排序基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述:快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:(1)从数列中......
  • 【java毕设 python毕设 大数据毕设】基于springboot的西山区家政服务网站设计与开发
    ✍✍计算机毕设编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......