6-10 阶乘计算升级版 (20 分)

#include <stdio.h>

void Print_Factorial ( const int N );

int main()
{
int N;

scanf("%d", &N);
Print_Factorial(N);
return 0;
}

/* 你的代码将被嵌在这里 */

打印N!的值,涉及到大数运算:加法和乘法。

解决思路为模拟手算乘法的过程,用数组存储并运算得到结果。ProjectEuler中有一道类似的题目:题目13:找出100个50位数之和的前十位数字。

阶乘代码如下:

void Print_Factorial ( const int N )
{
if(N<0)
{
printf("Invalid input");
return ;
}
int num[3000]={1};
int up=0;//记录当前进位值
int pos=0;//记录当前最高位所在的下标
for(int i=1;i<=N;i++)
{
for(int j=0;j<=pos;j++)
{
int tem=num[j]*i+up; //更新当前位置上的数
num[j]=tem%10;
up=tem/10;
}
while(up!=0)//位数要增长
{
num[++pos]=up%10;
up/=10;
}

// for(int d=pos;d>=0;d--)
// {
// printf("%d",num[d]);
// }
// printf("\n");
}
// printf("\n");
for(int i=pos;i>=0;i--)
{
printf("%d",num[i]);
}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日收货

package Calculation; import javax.swing.; import java.awt.; import java.util.Timer; import java.util.TimerTask; public class TimeFrame extends JPanel { private JLabel timeLabel; // 显示时间 private Tim…

【C130x 离在线】Python使用import opuslib 报错解决方案

背景 最近在用 CI130X 离在线的SDK测试串口采音(采用Opus压缩),然后用 deepSeek 写了一段 python 测试脚本; 由于采集得到的是Opus格式的数据,最后生成的文件也是 Opus 格式的文件,因此需要写一个脚本进行解码,…

读《Python神经网络编程(异步图书) 塔里克拉希德》有感

近日来感觉需要学习的东西还是很多。这本书很早就躺在我的电脑里了,记得是一次出差时想下载到我的surface中看的,但是一直没看下去。最近对深度学习入门感兴趣,于是想找些入门书籍来看,这本书比较简短,用通俗的语…

【CI130x 离在线】Python使用import opuslib 报错解决方案

一、下载opuslib库 1、先在命令行cd到自己Python所在目录路径 2、运行以下指令 python.exe -m pip install opuslib 二、运行代码出现错误 raise Exception(Could not find Opus library. Make sure it is installed.)…

002 vue3-admin项目的目录及文件说明之.gitignore文件

.gitignore 文件是 Git 版本控制系统中非常重要的配置文件,用于指定哪些文件或目录应该被 Git 忽略,不纳入版本控制。 基本概念 作用告诉 Git 哪些文件不需要追踪 避免将不必要的文件提交到代码仓库 保持仓库清洁,减…

2025.11.03 正睿

正睿二十连测可以把左移操作看成将某个元素丢到最后。 如果两种颜色相交了,一定要把一种颜色全丢到最后。 所以题目转化为至少要往后丢多少个元素(最多保留多少个元素不动)。也就是每种颜色设 \(l_i, r_i\) 为其第一…

使用QSPI驱动PM004MNIA

本文对MRAM芯片PM004MNIA进行简单介绍,并提供QSPI驱动程序源码。概述 STT-MRAM PM004MNIA 是一种具有 随机存取(Random Access) 特性的非易失性存储器,无需擦除操作,可进行 任意地址的读写操作。它的核心基于 自旋…

c++虚函数与纯虚函数解析

c++虚函数与纯虚函数解析定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。 定义纯虚函数是为了实现…

杂谈:关于java帝国的一些内容

Java帝国 三高高性能 高并发 高可用几大版本javaME标准版:用于桌面端 javaSE移动版:用于手机端 javaEE企业版:用于服务器相对于c,c++的优势与弊端 优势:使用更加简明方便,没有指针以及内存管理上的太多烦恼。 劣…

11月3日日记

1.今天java考试 2.明天上工程实训 3.数据库连接如何通过 Java Bean 封装实现 “配置与代码分离”?

洛谷 P3615

有一个混厕和一个女厕以及 \(2n\) 个男/女士排队。若女厕为空,则最前面的女士会进入;队头的人会进入他能进的厕所(女性优先进女厕。) 每个人需要在厕所待 \(1min\)(切换不算时间)。你可以重排这个队列,使得这些…

蒟蒻的S游记碎碎念

ASUKA就是ASUKA感觉s比j发挥的好是怎么回事? 进来看T1,发现突然一眼看不出思路,心态直接崩了。(那可是我唯一的希望!最能写出来的题啊??!!) 为了稳住心态,去看了后几题,发现越来越恶心(最后一题先看了个2…

简单五子棋对战(AI生成)

简单五子棋对战(AI生成)目录简单五子棋对战(AI生成)一、目标二、包结构三、代码设计与讲解3.1 Main.java3.2 Chessboard.java3.3 Player.java3.4 HumanPlayer.java3.5 AIPlayer.java3.6 GameRecord.java3.7 RankLi…

扬贺扬国产DDR4、国产NAND存储、国产EMMC存储

扬贺扬国产DDR芯片主要有: DDR3L 2Gb HYD2G16L3AA-B9A 1.35V 1866Mbps 0℃ ~95℃ BGA 96 4Gb HYD4G16L3AA-B9A 1.35V 1866Mbps 0℃ ~95℃ BGA 96 DDR4 4Gb HYD4G16V4BA-B9A 1.2V 3200Mbps 0℃ ~95℃ BGA 96 8Gb HYD8G…

【python刷题记录】移动零-双指针-简单

【python刷题记录】移动零-双指针-简单链接:283. 移动零 - 力扣(LeetCode) 直接解1 class Solution(object):2 def moveZeroes(self, nums):3 """4 :type nums: List[int]5 …

[linux]记账工具-监控用户活动

记账工具可以提供诸如 Linux 系统中的连接、已执行的程序以及系统资源的使用等有底系统使用信息前言 记账工具可以提供诸如 Linux 系统中的连接、已执行的程序以及系统资源的使用等有底系统使用信息。这些记账工具可以…

002 vue3-admin项目的目录及文件说明之public目录

主要作用 1. 存放静态资源放置 HTML、CSS、JavaScript 等静态文件 存储图片、字体、图标等资源文件 这些文件会被原样复制到最终的构建目录中2. 入口文件通常包含 index.html 作为应用的入口文件 这个 HTML 文件是应用…

Day11CSS特性

CSS的特性包括继承性,层叠性,优先级 1.继承性 子级默认继承父级的文字控制属性 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="…

[GDB] GDB-Dashboard: GDB可视化工具

[GDB] GDB-Dashboard: GDB可视化工具$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年11月3日22:54:39)目录GDB-Dashboard 学习文档前言:为…