#include "stdio.h"
#include "math.h"
int a[10000],c[10000];//9592个质数,a是质数组,c计次数。
int r[5000000];//结果
long long time=1;
int main()
{
int i,j,f=1,sq,k=1;
int b,d,n,m,p,w=0;
a[0]=2;
scanf("%d",&n);
b=2*n;
for(i=3;i<=b;i+=2)
{
sq=sqrt(i);
for(j=3;j<=sq;j+=2)
if(i%j==0)
goto next;
a[k++]=i;
next:;
}//产生需要的质数
for(i=0;a[i]<b&&a[i];i++)
{
m=b;
while(m!=0)
{
m/=a[i];
c[i]+=m;
}
}
p=i+1;
b=n;
for(i=0;a[i]<b;i++)
{
m=b;
while(m!=0)
{
m/=a[i];
c[i]-=m;
}
}
if(a[i]==b)
c[i]-=1;
b=n+1;
for(i=0;a[i]<b;i++)
{
m=b;
while(m!=0)
{
m/=a[i];
c[i]-=m;
}
}
if(a[i]==b)
c[i]-=1;
r[0]=1;
//分解完成
for(i=0;i<10000;i++)
{
for(j=0;j<c[i];j++)
{
if(time*a[i]<200000)
time*=a[i];
else
{
for(k=0;k<=w||r[k]!=0;k++)
r[k]*=time;
for(k=0;k<=w||r[k]!=0;k++)
{
r[k+1]+=r[k]/1000;
r[k]%=1000;
}
w+=2;
time=a[i];
}
}
}
for(k=0;k<=w||r[k]!=0;k++)
r[k]*=time;
for(k=0;k<=w||r[k]!=0;k++)
{
r[k+1]+=r[k]/1000;
r[k]%=1000;
}
w+=2;
//连乘
while(r[w]==0)
w--;
printf("%d",r[w]);
w--;
for(i=w;i>=0;i--)
printf("%03d",r[i]);
while(getchar()!=EOF);
//输出
return 0;
}
cpp.rar_tyvj_tyvj 1268 c
版权申诉
138 浏览量
2022-09-20
17:53:14
上传
评论
收藏 1.74MB RAR 举报
刘良运
- 粉丝: 66
- 资源: 1万+
最新资源
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0