PAT 1016 部分A+B C语言

时间:2022-10-20 03:59:16

1016. 部分A+B (15)

正整数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 < 1010

输出格式:

在一行中输出PA + PB的值。

输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

 #include <stdio.h>
#include <stdlib.h>
#include <math.h> int number(int a, int b);
int newNum(int num, int repeatTime);
int main()
{
int a,b, la, lb;
scanf("%d%d%d%d", &la,&a,&lb,&b); int a1 = number(la,a);
int b1 = number(lb, b); int new_a = newNum(a, a1);
int new_b = newNum(b,b1);
printf("%d",new_a +new_b); return ;
} int number(int a, int b){
int cnt = ;
while( a != ){
if(a % == b) cnt++;
a /= ;
}
if ( a == b) cnt ++;
return cnt;
} int newNum(int num, int repeatTime){
int result = ,i = ;
for(; i < repeatTime; i++){
result += num * (pow(,i));
} return result;
}