給定整數 A, DA, B, DB,其中 DA, DB 為單一數字 (0-9)。定義 A 的「DA 部分」PA 為 A 中所有 DA 拼接而成的新整數(如 A=3862767, DA=6 → PA=66)。同理得 PB。輸出 PA + PB。
A, B(10^10 內,long long 也可,但字串處理更直觀)。result = result * 10 + digit 累積。#include#include int main() { char sa[20], sb[20]; int da, db; scanf("%s %d %s %d", sa, &da, sb, &db); long long pa = 0, pb = 0; for (int i = 0; sa[i]; i++) if (sa[i] - '0' == da) pa = pa * 10 + da; for (int i = 0; sb[i]; i++) if (sb[i] - '0' == db) pb = pb * 10 + db; printf("%lld\n", pa + pb); return 0; }
輸入:3862767 6 13530293 3 PA=66, PB=333 → 輸出 399 輸入:3862767 1 13530293 8 PA=0, PB=0 → 輸出 0
A=111, DA=1 → PA=111)。int,用 long long 安全。字串掃描 + 位權累積的基礎題,考察字元轉數字、長整數輸出、邊界為 0 的處理。