当前位置:网站首页>Haut OJ 1245: large factorial of CDs --- high precision factorial
Haut OJ 1245: large factorial of CDs --- high precision factorial
2022-07-05 05:17:00 【hunziHang】
Problem description :
cds: I heard that you can already use C Language seeking n! 了
ykc: Of course ! Light yard oj I have already solved all the factorial problems AC 了 , for example 1048 Factorial table ,1050 The cumulative sum of factorials ,1089 The highest position of factorial, etc ……
cds: Oh ? Really? , Then I'll give you a number n, Can you find its factorial immediately ?
ykc: good , That's all right. !
cds: can n Very big
ykc: Don't worry , I use long long Just fine
cds: Good. ,n=80
ykc:&#¥%#woc
Input :
Single instance test , Enter a natural number n(n<=2000)
Output :
Output n The factorial
The sample input :
80
Sample output :
71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000
Cause analysis :
1. utilize i To achieve 1 To n The factorial ,temp Record the number obtained by multiplying each time ,digit Record the number of digits ( So that each number can be multiplied )
2. temp=a[j]*i+num; num It is a number on a bit that multiplies and advances backward (num=temp/10;) The number on the bit that should be carried * i after , Need to add low and progressive num.
3. hold num/10 such as 4 The factorial And finally 4*(2*3), namely 24, here num=2 Save to digit That is to say 1 Location
Build another while Yes, it will appear later num There are several , So use a cycle to save each .
Solution :
#include <stdio.h>
int main()
{
int a[20001];// Store the number obtained by each bit
int temp,digit,n,i,j=0;//temp The number of each time digit The number of digits each time
scanf("%d",&n);
a[0]=1;// from 1 Start to multiply
digit=1;// The number of digits starts from the first
for(i=2;i<=n;i++)
{
int num=0;
for(j=0;j<digit;j++) //for Purpose : Multiply each digit of a number by i,
{
temp=a[j]*i+num;
a[j]=temp%10; // Each digit of a number is stored in an array
num=temp/10;
}
while(num)
{
a[digit]=num%10; // Continue to store the number after the last carry
// The previous carry is in the second for Stored in
num=num/10;
digit++;
}
}
for(i=digit-1;i>=0;i--)// Output each bit in reverse order
printf("%d",a[i]);
printf("\n");
return 0;
}
Multi instance input :
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll i,j,n;
while(cin>>n)
{
ll digit=1,a[100000]; //a Array ,a[0]=1,digit Need to put it in .
a[0]=1;
for(j=2;j<=n;j++)
{
ll num=0,temp;
for(i=0;i<digit;i++)
{
temp=a[i]*j+num;
a[i]=temp%10;
num=temp/10;
}
while(num)
{
a[digit]=num%10;
num/=10;
digit++;
}
}
for(i=digit-1;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
}
边栏推荐
- [转]MySQL操作实战(一):关键字 & 函数
- GBase数据库助力湾区数字金融发展
- Unity card flipping effect
- Page countdown
- Unity shot tracking object
- BUUCTF MISC
- [interval problem] 435 Non overlapping interval
- Unity get component
- Ue4/ue5 illusory engine, material part (III), material optimization at different distances
- Unity parallax infinite scrolling background
猜你喜欢
[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research
[interval problem] 435 Non overlapping interval
Double pointer Foundation
Page countdown
[转]MySQL操作实战(三):表联结
《动手学深度学习》学习笔记
Generate filled text and pictures
Unity check whether the two objects have obstacles by ray
Collapse of adjacent vertical outer margins
Embedded database development programming (zero)
随机推荐
Pause and resume of cocos2dx Lua scenario
A complete attack chain
[interval problem] 435 Non overlapping interval
[turn]: Apache Felix framework configuration properties
Count sort
The difference between heap and stack
服务熔断 Hystrix
Solon Auth 认证框架使用演示(更简单的认证框架)
Optimization scheme of win10 virtual machine cluster
Data is stored in the form of table
Download and use of font icons
Recherche de mots pour leetcode (solution rétrospective)
django连接数据库报错,这是什么原因
Unity3d learning notes
使用命令符关闭笔记本自带键盘命令
Unity connects to the database
[speed pointer] 142 circular linked list II
Kali 2018 full image download
Download xftp7 and xshell7 (official website)
[转]MySQL操作实战(一):关键字 & 函数