poj 3199 Uncle Jack

poj 3199 Uncle Jack,第1张

poj 3199 Uncle Jack
#include<stdio.h>  #include<string.h>#define MAX 30  char mul1[MAX];  char ans[2*MAX];  void multiply(char *a,char *b,char *c)  {      int i,j,ca,cb,*s;      ca=strlen(a);      cb=strlen(b);      s=(int *)malloc(sizeof(int)*(ca+cb));      for(i=0;i<ca+cb;i++) s[i]=0;      for(i=0;i<ca;i++)      {          for(j=0;j<cb;j++)          {   s[i+j+1]=(a[i]-'0')*(b[j]-'0');          }      }      for(i=ca+cb-1;i>=0;i--)      {          if(s[i]>9)          {   s[i-1]+=s[i]/10;   s[i]%=10;          }      }      i=0,j=0;      while(s[i]==0) i++;      while(i<ca+cb)      {          c[j]=s[i]+'0';          j++;          i++;      }      c[j]='';      free(s);  }  int main()  {       int n,d,i;      while(scanf("%d %d",&n,&d))      {          if(n==0 && d==0) break;          sprintf(mul1,"%d",n);          sprintf(ans,"%d",n);          if(d==0)          {   printf("1n");   continue;          }          for(i=1;i<d;i++)          {   multiply(mul1,ans,ans);          }          printf("%sn",ans);      }      return 0;  }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4925855.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存