问题
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
原答案
#include<stdio.h>
int main() {
long long a,b;
int da,db;
char stra[50];
char strb[50];
int i = 0,j = 0;
int pa = 0,pb = 0;
while(scanf("%lld %d %lld %d",&a,&da,&b,&db)) {
pa = 0,pb = 0;
while(a != 0) {
int dana = a % 10;
if(dana == da)
i++;
a /= 10;
}
while(b != 0) {
int danb = b % 10;
if(danb == db)
j++;
b /= 10;
}
while(i>0) {
pa = pa * 10 + 1;
i--;
}
while(j>0) {
pb = pb * 10 + 1;
j--;
}
pa = pa * da;
pb = pb * db;
printf("%d",pa+pb);
}
}
OJ反馈
答案修改
原来是自己在写输入结束忘记添加 != EOF
虽然编译器没有报出任何错误
修改之后