1.题目描述
2.解题思路
此题相对比较简单,这里需要我们注意的是,再从A和B中分别找出Da和Db分别出现的次数时,不需要对整形分离每一位数在进行比较,直接利用 to_string()将整形直接转化为字符串,在通过下标索引就可以找到每一位数了。
3.代码演示
#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main(){
int A,Da,B,Db,Pa=0,Pb=0;
cin >> A >> Da >> B >> Db;
int k=0,m=0;
string s1=to_string(A),s2=to_string(B); //将整形转化为字符串
for(int i=0;i<s1.size();i++){
if((s1[i]-'0')==Da){
k++;
Pa = Pa + Da*pow(10,k-1); //pow为幂运算函数,此处为10的k-1次方
}
}
for(int i=0;i<s2.size();i++){
if((s2[i]-'0')==Db){
m++;
Pb = Pb + Db*pow(10,m-1);
}
}
cout << Pa + Pb << endl;
return 0;
}
觉得有帮助的小伙伴支持作者一下啦