之乎者也
描述
提交
自定义测试
“之”、“乎”、“者”、“也”是四个古人常用的语气助词。蜗蜗最近迷上了古文和算数,他敏锐地发现,古人说话总是用到这些字,然后他就把一书架的文言文都拿出来数了一遍,发现“之”有 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;
}