#include <stdio.h>
#include <string.h>
int main()
{
char d[150]={0};
int n;
while(scanf("%s%d",d,&n)!=EOF)
{
int a[150]={0},b[150]={0},c[150]={0},temp,flag;
int lend,lena,lenb,lenc,len,i,j,k,digit,s;
lend=strlen(d)-1;
for(i=0;d[i];i++)if(d[i]=='.')break;
digit=lend-i;
for(j=i;d[j];j++)d[j]=d[j+1];
lend=lend-1;
for(i=0;i<=lend/2;i++)
{temp=d[i];d[i]=d[lend-i];d[lend-i]=temp;}
for(i=0;d[i];i++)a[i]=d[i]-48;
lena=lend;
for(i=0;i<=lena;i++)b[i]=a[i];
lenb=lena;
for(i=1;i<=n-1;i++)
{
for(j=0;j<=lenb;j++)
for(k=0;k<=lena;k++)
{
c[j+k]+=a[k]*b[j];
c[k+j+1]+=c[j+k]/10;
c[j+k]%=10;
}
k--;j--;
if(c[k+j+1]!=0)lenc=j+k+1;
else lenc=j+k;
for(j=0;j<=lenc;j++) b[j]=c[j];
lenb=lenc;
memset(c,0,sizeof(c));
}
digit=n*digit;
len=lenb+1-digit;
flag=0;
for(i=lenb-len;i>=0;i--)if(b[i]!=0){flag=1;break;}
if(flag==0)
{
for(i=lenb;i>=lenb-len+1;i--)printf("%d",b[i]);
printf("\n");
continue;
}
if(len==1&&b[lenb]==0)printf(".");
else
{
for(i=lenb;i>=lenb-len+1;i--)printf("%d",b[i]);
printf(".");
}
for(i=0;i<=lenb-len;i++)if(b[i]!=0){temp=i;break;}
for(i=lenb-len;i>=temp;i--)printf("%d",b[i]);
printf("\n");
}
return 0;
}
gaojingdu.c.rar_高精度幂
版权申诉
35 浏览量
2022-09-22
17:40:18
上传
评论
收藏 980B RAR 举报
Kinonoyomeo
- 粉丝: 76
- 资源: 1万+
最新资源
- 以简单、易用、高性能为目标、开源的时序数据库,支持Linux及Windows, Time Series Database.zip
- python-leetcode面试题解之第198题打家劫舍-题解.zip
- python-leetcode面试题解之第191题位1的个数-题解.zip
- python-leetcode面试题解之第186题反转字符串中的单词II-题解.zip
- 一个基于python的web后端高性能开发框架,下载可用
- python-leetcode面试题解之第179题最大数-题解.zip
- python-leetcode面试题解之第170题两数之和III数据结构设计-题解.zip
- python-leetcode面试题解之第168题Excel表列名称-题解.zip
- python-leetcode面试题解之第167题两数之和II输入有序数组-题解.zip
- python-leetcode面试题解之第166题分数到小数-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈