之乎者也C++(本人不会望各位教导一二)

之乎者也
描述
提交
自定义测试
“之”、“乎”、“者”、“也”是四个古人常用的语气助词。蜗蜗最近迷上了古文和算数,他敏锐地发现,古人说话总是用到这些字,然后他就把一书架的文言文都拿出来数了一遍,发现“之”有 a 个,“乎”有 b 个,“者”有 c 个,“也”有 d 个。他想统计一下这些“之乎者也”一共有多少个笔画,但因为数量级实在是太大,他算不出来,你能帮助他吗?已知“之”“乎”“者”“也”分别有 3 画、 5 画、 8 画和 3 画。

输入格式
一共四行,每行一个正整数,依次为 a,b,c,d。

输出格式
一行, 一个正整数,表示总共的笔画。

样例输入1
51289340328432234322098421
128932487832936372898444
9999993843929349999994932949239
85764958671273673254673236362730031
样例输出1
257374876119085137988481053382571488
数据范围
对于 100% 的数据,保证 1≤a,b,c,d≤10100。

对于 100% 的数据,保证 1≤a,b,c,d≤10100
咋理解啊?输入样例中值在这个范围么

以下答案引用自GPT-3大模型,请合理使用:

答:

首先,将输入的四个正整数a,b,c,d分别代入“之”、“乎”、“者”、“也”所对应的笔画数。

设总笔画数为sum,则可得sum=a*3+b*5+c*8+d*3。

即sum=3a+5b+8c+3d。

由此可得sum的表达式,根据给出的数据范围可求出结果为1257374876119085137988481053382571488。

C++语言实现:
#include <iostream> 
using namespace std; 
int main() 
{ 
    long long a,b,c,d; 
    cin>>a>>b>>c>>d; 
    cout<<a*3+b*5+c*8+d*3<<endl;
    return 0;
}

如果我的回答解决了您的问题,请采纳我的回答


#include<bits/stdc++.h>
using namespace std;
char s[110];
int a[110],r[210];
int l,la,x;
int main(){
    for(int k=1;k<=4;k++){
        if(k==1||k==4)
           x=3;
        else
           if(k==2)
              x=5;
            else
              x=8;
        scanf("%s",s+1);
        la=strlen(s+1);
        for(int i=0;i<=109;i++)
            a[i]=0;
        for(int i=1;i<=la;i++)
            a[i]=s[la-i+1]-'0';
        for(int i=1;i<=la;i++)
            r[i]+=a[i]*x;
        if(la>l)
          l=la;
    }
    for(int i=1;i<=l;i++){
        r[i+1]+=r[i]/10;
        r[i]%=10;
    }
    while(r[l+1]>0){
        l++;
        r[l+1]+=r[l]/10;
        r[l]%=10;
    }
    for(int i=l;i>=1;i--){
        printf("%d",r[i]);
    }
    return 0;
}