正整数 A 的“D(为 1 位整数)部分”定义为由 A 中所有 D 组成的新整数 P。例如:给定 A=3862767,D=6,则 A 的“6 部分”P 是 66,因为 A 中有 2 个 6。

现给定 ADBD,请编写程序计算 P+P

输入格式:

输入在一行中依次给出 ADBD,中间以空格分隔,其中 0<A,B<10。

输出格式:

在一行中输出 P+P 的值。

输入样例 1:

  1. 3862767 6 13530293 3

输出样例 1:

  1. 399

输入样例 2:

  1. 3862767 1 13530293 8

输出样例 2:

  1. 0

思路

枚举A的每一位,若该位恰好为D, 则令P = P × 10 + D (秦九韶算法).

代码

  1. #include<cstdio>
  2. int main() {
  3. long long int A, B;
  4. int DA = 0, DB = 0;
  5. //Input the number
  6. scanf("%lld%d%lld%d", &A, &DA, &B, &DB);
  7. //Scan every bit of number
  8. int PA = 0, PB = 0;
  9. while(A != 0) {
  10. if(A % 10 == DA) {
  11. PA = PA * 10 + DA;
  12. }
  13. A = A / 10;
  14. }
  15. while(B != 0) {
  16. if(B % 10 == DB) {
  17. PB = PB * 10 + DB;
  18. }
  19. B = B / 10;
  20. }
  21. printf("%d", PB + PA);
  22. return 0;
  23. }