您的位置:首页 > 其它

数的表示--任意进制的转换--大数

2018-03-31 14:11 302 查看
转载:https://blog.csdn.net/jaster_wisdom/article/details/52107785
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string x;
int in[1000];
int out[1000];
void tran_arry(){
for(int i=0;i<x.length();i++){
if(isalpha(x[i]))
in[i]=x[i]-'A'+10;
else
in[i]=x[i]-'0';
}
}
void tran_any(int a,int b){

int sum=1;
int d;
int k=0;
int len=x.length();
while(sum){
sum=0;
for(int i=0;i<len;i++){
d=in[i]/b;
sum+=d;
if(i==len-1)
out[k++]=in[i]%b;
else
in[i+1]+=(in[i]%b)*a;
in[i]=d;
}
}
if(k==0)
out[k--]=0;
if(k==-1)
cout<<0<<endl;
else {
for(int i=0;i<k;i++){
if(out[k-i-1]>9)
cout<<(char)(out[k-i-1]+'A'-10);
else
cout<<out[k-i-1];
}
}
cout<<endl;
}
int main(){
int a,b;

while(1){
cin>>x;
cin>>a>>b;
tran_arry();
tran_any(a,b);
}
return 0;
}
大数相加
#include <stdio.h>
#include <string.h>
#include<iostream>
using namespace std;
int a1[10001];//7654321
int a2[10001];//2345679
int a3[10001];
char aa1[10001];
int Max;
void tan(){
int len;
scanf("%s",aa1);
Max=len=strlen(aa1);
for(int i=len-1;i>=0;i--)
a1[len-i-1]=aa1[i]-'0';
scanf("%s",aa1);
len=strlen(aa1);
Max=max(len,Max);
for(int i=len-1;i>=0;i--)
a2[len-i-1]=aa1[i]-'0';
}
int main()
{
int i=0;
memset(a1,0,sizeof(a1));
memset(a2,0,sizeof(a2));
memset(a3,0,sizeof(a3));
tan();
for(int i=0;i<Max;i++){
int t=(a1[i]+a2[i]+a3[i])%10;		//从个位开始计算
a3[i+1]+=((a1[i]+a2[i]+a3[i])/10);
a3[i]=t;
}
if(a3[Max]){
for ( int j=Max; j>=0; j-- ) printf("%d",a3[j]);printf("\n");
}
else {
for ( int j=Max-1; j>=0; j-- ) printf("%d",a3[j]);printf("\n");
}
return 0;
}

高精度n!
#include<cstdio>
#include<string>
#include<stdlib.h>
#include <string.h>
#include<iostream>
using namespace std;
const int maxn=10000;
int f[maxn];
int main(){
int i,j,n;
memset(f,0,sizeof(f));
f[0]=1;
cin>>n;
for( i=2;i<=n;i++){
int c=0;
for( j=0;j<maxn;j++){
int t=f[j]*i+c;
f[j]=t%10;
c=t/10;
}
}
for(j=maxn-1;j>=0;j--)
if(f[j])break;
for(i=j;i>=0;i--)
printf("%d",f[i]);
putchar(10);
return 0;
}
500
1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: