📄 计算指数的最后多少位.cpp
字号:
#include<iostream.h>
const int maxsize=10000;
void add(int ch[],int &flag,int size,int x)
{
int c=0;
flag=flag<=size ? flag:size;
for(int i=0;i<flag;i++)
{
int bak=ch[i]*x+c;
ch[i]=bak%10;
c=bak/10;
}
if(c>0)
{
ch[flag]=c;
flag++;
}
}
void main()
{
int *ch=new int[maxsize+1];
int x,y,flag=1,size=maxsize;
cout<<"请输入底数:"<<endl;
cin>>x;
while(!(x>0&&x<10))
{
cout<<"输入错误,请重新输入!"<<endl;
cin>>x;
}
cout<<"请输入指数:"<<endl;
cin>>y;
while(y<0)
{
cout<<"输入有错误!重新输入!"<<endl;
cin>>y;
}
for(int i=0;i<maxsize;i++)
ch[i]=0;
ch[0]=1;
for(i=0;i<y;i++)
add(ch,flag,size,x);if(flag>maxsize) flag=maxsize;
if(flag==maxsize)
cout<<"最后"<<flag<<"位是:"<<endl;
else
cout<<"结果一共有:"<<flag<<"位:"<<endl;
for(i=flag-1;i>=0;i--)
cout<<ch[i];
cout<<endl;
delete []ch;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -