正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。 现给定A、DA、B、DB,请编写程序计算PA + PB。 输入格式 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 10^10。 输出格式 在一行中输出PA + PB的值。 输入样例1 3862767 6 13530293 3 输出样例1 399 输入样例2 3862767 1 13530293 8 输出样例2 0 分析:将A和B保存在string a和b中,将DA和DB保存在da和db中,因为A为字符串,所以对于它的每一位a[i],当da == (a[i]- '0')时候表示da和a[i]相等,则pa = pa * 10 + da;B同理,当db == (b[i]- '0')时候表示db和b[i]相等,则pb = pb * 10 + db;最后输出pa+pb的值~
#includeusing namespace std; int main(){ string s1,s2; int n,m; int num1 = 0,num2 = 0; int a = 0,b = 0; cin >> s1 >> n >> s2 >> m; for(int i = 0;i < s1.size();i++){ if(n == (s1.at(i)-'0')){ num1++; } } for(int i = 0;i < num1;i++){ a += n * pow(10,i); } for(int i = 0;i < s2.size();i++){ if(m == (s2.at(i)-'0')){ num2++; } } for(int i = 0;i < num2;i++){ b += m * pow(10,i); } cout << a + b; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)