一、算法笔记的方法

  1. #include<cstdio>
  2. int main(){
  3. long long a,b,da,db;
  4. scanf("%lld%lld%lld%lld",&a,&da,&b,&db);
  5. long long pa = 0,pb = 0;
  6. while(a != 0)
  7. {
  8. if(a%10 == da) pa = pa * 10 + da;
  9. a = a / 10;
  10. }
  11. while(b != 0)
  12. {
  13. if(b%10 == db) pb = pb * 10 + db;
  14. b = b / 10;
  15. }
  16. printf("%lld\n",pa+pb);
  17. return 0;
  18. }

二、我的方法

  1. #include<cstdio>
  2. #include<string>
  3. using namespace std;
  4. int main(){
  5. long long A,B;
  6. int DA,DB;
  7. int countA = 0,countB =0;
  8. int resultA = 0;
  9. int resultB = 0;
  10. scanf("%lld %d %lld %d",&A,&DA,&B,&DB);
  11. //计算各自D的数量
  12. while(A!=0){
  13. int l = A%10;
  14. A = A/10;
  15. if (l == DA){
  16. countA++;
  17. }
  18. }
  19. while(B!=0){
  20. int l = B%10;
  21. B = B/10;
  22. if (l == DB){
  23. countB++;
  24. }
  25. }
  26. for(int i = 0;i<countA;i++){
  27. resultA = resultA + DA;
  28. DA = DA*10;
  29. }
  30. for(int i = 0;i<countB;i++){
  31. resultB = resultB + DB;
  32. DB = DB*10;
  33. }
  34. printf("%d",resultA + resultB);
  35. return 0;
  36. }