我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。此处文章目前已更新至与Github Pages同步。欢迎star我的repo。
题目
正整数 的“ (为 1 位整数)部分”定义为由 中所有 组成的新整数 。例如:给定 , ,则 的“6 部分” 是 66,因为 中有 2 个 6。
现给定 、 、 、 ,请编写程序计算 。
输入格式:
输入在一行中依次给出 、 、 、 ,中间以空格分隔,其中 。
输出格式:
在一行中输出 的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
思路
,因此要用long int
。
代码
最新代码@github,欢迎交流
#include <stdio.h>
long Dpart(long A, int D_A)
{
long P_A;
for(P_A = 0; A; A /= 10)
if(A % 10 == D_A)
P_A = P_A * 10 + D_A;
return P_A;
}
int main()
{
long A, B;
int D_A, D_B;
scanf("%ld %d %ld %d", &A, &D_A, &B, &D_B);
printf("%ld", Dpart(A, D_A) + Dpart(B, D_B));
return 0;
}