蓝桥杯题目 输入一个正整数n,输出n!的值。
来源:互联网 发布:郑州做seo的工资 编辑:程序博客网 时间:2024/05/21 09:16
问题描述
输入一个正整数n,输出n!的值。
其中n!=1*2*3*…*n。
算法描述
n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。
将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。
首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。
输入格式
输入包含一个正整数n,n<=1000。
输出格式
输出n!的准确值。
样例输入
10
样例输出
3628800
#include<iostream>using namespace std;void f(int n){ if(n==1) cout<<"1"; else { int a[100000],tail=0,head=0,p=0; a[0]=1; for(int i=2;i<=n;i++){ for(int j=head;j<=tail;j++) { p=a[j]*i+p; a[j]=p%10; p=p/10; } while(p!=0) { tail++; a[tail]=p%10; p=p/10; } } for(int i=tail;i>=0;i--) cout<<a[i]; }}int main(){ int n; cin>>n; f(n); return 0;}
阅读全文
0 0
- 蓝桥杯题目 输入一个正整数n,输出n!的值。
- 输入一个正整数n,输出一个最小正整数m,使得m的各位乘积等于n
- 面试题:输入一个正整数n,输出所有的连续正整数之和等于n的序列
- N的阶乘:输入一个正整数N,输出N的阶乘
- 求n的阶乘问题。输入一个正整数n,输出n!
- C语言编程:求n的阶乘问题。输入一个正整数n,输出n!
- 输入任意一个大于2的正整数n,输出所有小于等于n的素数
- 4.输入正整数n <= 20,输出一个n层的正三角形。
- 2-3.输入正整数n <= 20,输出一个n层的正三角形
- 输入正整数n≤20,输出一个n层的倒三角形。例如,n=5时输出如下:
- java实现输入一个正整数n,输出全部连续正整数相加后等于n的所有序列。
- 输出n! n为用户输入的一个正整数 n! = n*(n-1)*(n-2)*...*1 5! = 5*4*3*2*1 = 120
- 输入一个正整数n,求第n小的质数
- P51 第15题,输入一个正整数n,各输出n行的正倒三角形宝塔图案
- 输入一个正整数N,返回一个大于N并且二进制权重跟N相同的数
- 输入一个正数n,输出所有和为n连续正整数序列
- 输入一个数n,输出1~n的全排列
- 输入正整数n,按从小到大的顺序输出所有形如abcde / fghij = n的表达式,其中a~j恰好为0~9的一个排列,2
- GAN学习指南:从原理入门到制作生成Demo,总共分几步?
- 【Scikit-Learn 中文文档】朴素贝叶斯
- 【Scikit-Learn 中文文档】朴素贝叶斯
- KMP算法详解
- ProbabilityGenerator
- 蓝桥杯题目 输入一个正整数n,输出n!的值。
- atoi
- OpenJudge 1975 Median Weight Bead
- 欢迎使用CSDN-markdown编辑器
- 软件工程导论第十二章
- asp.net如何定时执行任务
- 初学者---Android 沉浸式(透明)状态栏适配
- 【Scikit-Learn 中文文档】决策树
- 设计模式之原型模式