1173

news/2024/11/18 4:25:59/

1173:阶乘和

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 6674 通过数: 3397
【题目描述】
用高精度计算出S=1!+2!+3!+…+n!(n≤50),其中“!”表示阶乘,例如:5!=5×4×3×2×1。

输入正整数n,输出计算结果S。

【输入】
一个正整数n。

【输出】
计算结果S。

【输入样例】
5
【输出样例】
153
提交 统计信息 提交记录

#include <iostream>#include <cstring>#include <algorithm>using namespace std;int a[501]={0,1},b[501],c[501]; // a数组用于计算阶乘(被加数) b数组:加数  c数组:计算每次累加和int lena=1,lenb=1,lenc=1;int main(){int n;cin>>n;for(int i=1;i<=n;i++)  //计算n次{for(int j=1;j<=lena;j++)  // 13~25行:计算每个数的阶乘结果{a[j]*=i;}for(int k=1;k<=lena;k++){if(a[k]>9){a[k+1]+=a[k]/10;a[k]%=10;if(k==lena)  lena++;}}int x=0,w=1;  // 27~37行计算每个阶乘每次累加和while(w<=lena || w<=lenb){c[w]+=a[w]+b[w]+x;x=c[w]/10;c[w]%=10;w++;}c[w]=x;if(c[w]==0) w--;lenc=w;memcpy(b,c,sizeof(c));  // 每次求和后把结果重新赋给b数组,和下一个阶乘重新计算lenb=lenc;  // 同时把长度也赋给b数组memset(c,0,sizeof(c));    // c数组这时要清零}for(int i=lenb;i>=1;i--)  // 倒序输出最后结果{cout<<b[i];}cout<<endl; return 0;    }

http://www.ppmy.cn/news/582713.html

相关文章

leetcode 1277

今天做了一道dp的题&#xff0c;感觉和今年中科大夏令营上机题神似&#xff0c;题目如下&#xff08;来自leetcode&#xff09;&#xff1a; 我的思路是设置一个二维数组dp&#xff0c;来保存一些信息。这个dp[i][j]保存的是什么呢&#xff1f;是以点 (i,j) 为正方形右下角顶…

leetcode1703

得到连续k个1的最少交换次数 题目&#xff1a;给定一个只有0和1的数组和一个数字k&#xff0c;返回得到k个连续的1的最少交换次数。 这道题是python期末考试的附加题&#xff0c;并且是leetcode原题hard难度&#xff0c;考场上愣是没想出来怎么做&#xff0c;考完来看别人的题解…

【Lintcode】1713. Unique Email Addresses

题目地址&#xff1a; https://www.lintcode.com/problem/unique-email-addresses/description 给定一个字符串列表&#xff0c;每个字符串是个email地址&#xff0c;解析规则是&#xff0c;如果是前面的字符&#xff0c;所有的.应当被忽略&#xff0c;所有的和其后面的字符应…

【数据结构与算法】数据结构知识点总结

文章目录 前言一、数组&#xff08;一&#xff09;知识点&#xff08;二&#xff09;常用操作代码示例1. 声明数组2. 初始化数组3. 访问数组元素4. 修改数组元素5. 遍历数组6. 数组作为函数参数 二、链表&#xff08;一&#xff09;知识点&#xff08;二&#xff09;常用操作代…

【路径规划】基于matlab自动化拣货最优路径【含Matlab源码 1713期】

一、获取代码方式 获取代码方式1: 完整代码已上传我的资源: 【路径规划】基于matlab自动化拣货最优路径【含Matlab源码 1713期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏Matlab路径规划(初级版) 备注: 点击上面蓝色字体付费专栏Matlab路径规…

【libdatachannel】streamer例子的ice交互分析

streamer是实时处理candidate的sdp信息,ws发送给对端的。streamer的ws消息处理 /// Incomming message handler for websocket /// @param message Incommint message /// @param config Configuration /// @param ws Websocket void wsOnMessage(json message, Configuratio…

torch.stack和torch.cat的区别

torch.stack和torch.cat的区别 torch.stack 和 torch.cat 是 PyTorch 中用于张量操作的两个函数&#xff0c;它们在功能和使用方式上存在一些区别。 区别如下&#xff1a; 堆叠维度不同&#xff1a;torch.stack 在堆叠时会创建一个新的维度&#xff0c;将输入张量序列沿着这个…

Ubuntu设置无线wifi的静态IP

安装 net-tools sudo apt install net-tools 输入ifconfig查看当前网络ip地址&#xff1a; pulsarpulsar:~$ ifconfig docker0: flags4099<UP,BROADCAST,MULTICAST> mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255ether 02:42:02:8c:87:a…