求解啊!!!C++啊!!!跪求答案!!!

2025-02-27 00:26:36
推荐回答(3个)
回答1:

#include
#include
using namespace std;
const int n=10000;
int num[n]=;//乘法结果表
void multiply(int q)
{
for ( int i=0;i for ( 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 if (num[i]>99)cout<<'0'< else if (num[i]>9)cout<<'0'<<'0'< else cout<<'0'<<'0'<<'0'< }
else
{
cout< f=true;
}
}
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!

回答2:


#include
#include
using namespace std;
const int n=10000;
int num[n]=;//乘法结果表
void multiply(int q)
{
for ( int i=0;i for ( 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 if (num[i]>99)cout<<'0'< else if (num[i]>9)cout<<'0'<<'0'< else cout<<'0'<<'0'<<'0'< }
else
{
cout< f=true;
}
}
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!

回答3:

上机验证一下就行了,这个问题不用放在这吧。