sgu112 高精度大整数乘方
来源:互联网 发布:js获取application值 编辑:程序博客网 时间:2024/05/23 18:33
#include<iostream>#include<cstring>using namespace std;int jian(int a[],int b[],int c[],int len){int i;for(i=0;i<len;i++){c[i]+=a[i]-b[i];if(c[i]<0){c[i]+=10;c[i+1]--;}}while(c[len-1]==0)len--;if(len==0)return 1;elsereturn len;}int mult(int a[],int b[],int c[],int len1,int len2){int d[1000],e[1000],len,i,j; //妈蛋,害我调了半天memset(d,0,sizeof(d));memset(e,0,sizeof(e));for(i=0;i<len2;i++)d[i]=b[i];for(i=0;i<len1;i++)for(j=0;j<len2;j++)e[i+j]+=a[i]*d[j];len=len1+len2;for(i=0;i<len;i++)c[i]=e[i];for(i=0;i<len-1;i++){c[i+1]+=c[i]/10;c[i]=c[i]%10;}if(c[len-1]>0)len++;return len-1;}bool cmp(int a[],int b[],int len1,int len2){int i;if(len1>len2)return true;if(len1<len2)return false;if(len1==len2){for(i=0;i<len1;i++){if(a[i]>b[i])return true;if(a[i]<b[i])return false;}if(i==len1)return true;}}int main(){int a,b,a0,b0,i,a1[10],b1[10];int a2[1000],b2[1000],c[1000];int len,len1,len2,len3,len4;cin>>a>>b;memset(a1,0,sizeof(a1));memset(b1,0,sizeof(b1));memset(a2,0,sizeof(a2));memset(b2,0,sizeof(b2));memset(c,0,sizeof(c));i=0;a0=a;b0=b;while(a0>0){a1[i]=a0%10;a0/=10;i++;}len1=i;i=0;while(b0>0){b1[i]=b0%10;b0/=10;i++;}len2=i;if(a==0)len1=1;if(b==0)len2=1; a2[0]=1; b2[0]=1;len3=1; len4=1;for(i=0;i<b;i++)len3=mult(a1,a2,a2,len1,len3);for(i=0;i<a;i++)len4=mult(b1,b2,b2,len2,len4);if(cmp(a2,b2,len3,len4)){len=jian(a2,b2,c,len3);for(i=len-1;i>=0;i--)cout<<c[i];cout<<endl;}else{len=jian(b2,a2,c,len4);cout<<"-";for(i=len-1;i>=0;i--)cout<<c[i];cout<<endl;}return 0;}
0 0
- sgu112 高精度大整数乘方
- 高精度乘方
- java大整数的乘方问题处理
- 高精度 大整数加法
- 高精度大整数加法
- 高精度大整数类
- 大整数高精度加减乘除
- 高精度大整数模板
- 【高精度】大整数类
- 高精度阶乘、乘方排列组合
- POJ1001 Exponentiation【高精度乘方】
- 高精度乘方一
- 高精度乘方二
- 高精度(大整数加法)
- 高精度(大整数减法)
- 高精度(大整数除法)
- 高精度(大整数乘法)
- 模板--高精度、大整数幂取模
- hexo博客的优化与配置——添加统计代码
- 走地板 深搜基础
- mysql5.5异常: java.sql.SQLException: Packet for query is too large (1055975 > 1048576).
- linux,apache,php,mysql常用的查看版本信息的方法
- 【leetcode】Candy(python)
- sgu112 高精度大整数乘方
- Java hashCode 和 equals 方法
- Web漏洞检测及修复
- android 调用java编写接口 简单示例
- 用数组实现ArrayList
- 骰神秘笈
- GDB调试工具的实践
- 安装XP、Win2003系统蓝屏、无法启动及无法安装 安装后进不去的解决办法
- 从几何角度看SVD