rp增加(高精度)
  • 板块灌水区
  • 楼主赛克尔だよ
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/11/6 21:34
  • 上次更新2023/11/5 08:43:48
查看原帖
rp增加(高精度)
376348
赛克尔だよ楼主2020/11/6 21:34
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int m=1e3;
int s[m]={0};
void strchange( char str[],int l )
{    
    for( int i=0;i<(l+1)/2;i++ )
    {    if( i!=l-i-1 )
        str[i]-=48;
        str[l-i-1]-=48;
        int t;
        t=str[i];
        str[i]=str[l-i-1];
        str[l-i-1]=t;
    }
}

int main()
{
    long long la,lb,ls;
    char a[1050],b[1050];
    while( scanf("%s %s",&a,&b)!=EOF )
    {
        la=strlen(a);
        lb=strlen(b);
        strchange(a,la);
        strchange(b,lb);
        for( int i=la-1;a[i]==0&&i>=0;i-- )
        la-=1;
        for( int i=lb-1;b[i]==0&&i>=0;i-- )
        lb-=1;
        ls=la>lb?la:lb;

        for( int i=0;i<ls;i++ )
        {
 
        s[i]+=a[i]+b[i];
        if( s[i]>9 ){
        s[i+1]+=1;
        s[i]=s[i]%10;
        if(i==ls-1)
        ls++;
        }
//        printf("%d ",s[i]);
//        printf("%ds\n",s[i]);
//        printf("%dls",ls);
    }
    if(ls==0)
    {
        printf("0\n");
        continue;
    }
    printf("现在rp=")
    for( int i=ls-1;i>=0;i-- )
    printf("%d",s[i]);
    printf("\n");
    memset(s,0, sizeof(s));
    memset(a,0, sizeof(a));
    memset(b,0, sizeof(b));
    }
}

输入 0 6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 输出

现在rp=6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

2020/11/6 21:34
加载中...