pat-B1016-部分A+B

题目链接->link

思路

  1. 累计A,B中出现Da,Db
  2. 根据1中数字累加得Pa,Pb
  3. 注意A,B范围,要用long long int。

代码

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>

using namespace std;

int main(){
    long long int a,b,sum1,sum2;
    int da,db,i,count1,count2;
    while(scanf("%lld %d %lld %d",&a,&da,&b,&db)!=EOF){
        count1=count2=0;
        for(i=10;a>=1;a/=10){
            if(a%i==da){
                count1++;
            }
        }
        for(i=10;b>=1;b/=10){
            if(b%i==db){
                count2++;
            }
        }
        sum1=0;
        sum2=0;
        for(i=0;i<count1;i++){
            sum1+=da*pow(10,i);
        }
        for(i=0;i<count2;i++){
            sum2+=db*pow(10,i);
        }
        printf("%lld\n",sum1+sum2);
    }
}
发布了8 篇原创文章 · 获赞 1 · 访问量 127

猜你喜欢

转载自blog.csdn.net/MichealWu98/article/details/104009866