高精度计算 2的n次编程精确计算2的N次方.(N是介于100和1000之间的整数).样例输入200样例输出1606938044258990275541962092341162602522202993782792835301376(最好用C语言编)
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/06 11:25:29
![高精度计算 2的n次编程精确计算2的N次方.(N是介于100和1000之间的整数).样例输入200样例输出1606938044258990275541962092341162602522202993782792835301376(最好用C语言编)](/uploads/image/z/13336681-49-1.jpg?t=%E9%AB%98%E7%B2%BE%E5%BA%A6%E8%AE%A1%E7%AE%97+2%E7%9A%84n%E6%AC%A1%E7%BC%96%E7%A8%8B%E7%B2%BE%E7%A1%AE%E8%AE%A1%E7%AE%972%E7%9A%84N%E6%AC%A1%E6%96%B9.%EF%BC%88N%E6%98%AF%E4%BB%8B%E4%BA%8E100%E5%92%8C1000%E4%B9%8B%E9%97%B4%E7%9A%84%E6%95%B4%E6%95%B0%EF%BC%89.%E6%A0%B7%E4%BE%8B%E8%BE%93%E5%85%A5200%E6%A0%B7%E4%BE%8B%E8%BE%93%E5%87%BA1606938044258990275541962092341162602522202993782792835301376%EF%BC%88%E6%9C%80%E5%A5%BD%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%EF%BC%89)
高精度计算 2的n次编程精确计算2的N次方.(N是介于100和1000之间的整数).样例输入200样例输出1606938044258990275541962092341162602522202993782792835301376(最好用C语言编)
高精度计算 2的n次
编程精确计算2的N次方.(N是介于100和1000之间的整数).
样例输入
200
样例输出
1606938044258990275541962092341162602522202993782792835301376
(最好用C语言编)
高精度计算 2的n次编程精确计算2的N次方.(N是介于100和1000之间的整数).样例输入200样例输出1606938044258990275541962092341162602522202993782792835301376(最好用C语言编)
C++代码
#include
#include
#include
#include
using namespace std;
string add(const string &a,const string &b);
string multiply(const string &a,char b);
string multi(const string &a,const string &b);
string twoN(int n);
void main()
{
int a;
cin>>a;
string result=twoN(a);
cout=0;--i)
{
r[i]=sh[i]+lo[i]-48+g;
if(r[i]>'9')
{
r[i]-=10;
g=1;
}
else
{
g=0;
}
}
if(g==1)
r="1"+r;
return r;
}
string multiply(const string &a,char b)
{
string r;
r.resize(a.size()); int g=0;
if(b=='0')
return "0";
if(b=='1') //加快计算
return a;
for(int i=a.size()-1;i>=0;--i)
{
r[i]=(a[i]-48)*(b-48)%10+48+g;
if(r[i]>'9')
{
r[i]-=10;
g=((a[i]-48)*(b-48))/10+1;
continue;
}
g=((a[i]-48)*(b-48))/10;
}
if(g!=0)
r.insert(0,string(1,g+48));
return r;
}
string multi(const string &a,const string &b)
{
string r("0");
string *c=new string[b.size()];
for(int i=0;i