#include
#include
using namespace std;
const int n=10000;
int num[n]=;//乘法结果表
void multiply(int q)
{
for ( int i=0;i
num[i+1]+=num[i]/10000;
num[i]%=10000;
}
}
void output()
{
bool f=0;
// ofstream f1;
// f1.open("result.txt");
for (int i=n-1;i>=0;i--)
{
if (num[i]!=0)
{
if (f)
{
if (num[i]>999)cout<
else
{
cout<
}
}
else if (f)
{
cout<<'0'<<'0'<<'0'<<'0';
}
}
cout<
int main()
{
int q;
cout<<"输入target";
cin>>q;
cout< for (int i=1;i<=q;i++)multiply(i);
output();
system("pause");
return 0;
}
========================
这个程序算到10000!不成问题,把数组大小改成40000,可以算到20000!
#include
#include
using namespace std;
const int n=10000;
int num[n]=;//乘法结果表
void multiply(int q)
{
for ( int i=0;i
num[i+1]+=num[i]/10000;
num[i]%=10000;
}
}
void output()
{
bool f=0;
// ofstream f1;
// f1.open("result.txt");
for (int i=n-1;i>=0;i--)
{
if (num[i]!=0)
{
if (f)
{
if (num[i]>999)cout<
else
{
cout<
}
}
else if (f)
{
cout<<'0'<<'0'<<'0'<<'0';
}
}
cout<
int main()
{
int q;
cout<<"输入target";
cin>>q;
cout< for (int i=1;i<=q;i++)multiply(i);
output();
system("pause");
return 0;
}
========================
这个程序算到10000!不成问题,把数组大小改成40000,可以算到20000!
上机验证一下就行了,这个问题不用放在这吧。