PAT乙級1016 部分A B(C C )

2021-09-22 23:06:51 字數 1051 閱讀 2449

正整數 a 的「d(a)(為 1 位整數)部分」定義為由 a 中所有 d(a) 組成的新整數 p(a) 。例如:給定a=3862767,d(a)=6,則 a 的「6 部分」p(a)是 66,因為 a 中有 2 個 6。

現給定 a、d(a) 、b、d(b),請編寫程式計算 p(a)+p(b)。

輸入在一行中依次給出 a、d(a) 、b、d(b),中間以空格分隔,其中 0在一行中輸出 p(a) +p(b) 的值。

3862767 6 13530293 3
399
3862767 1 13530293 8
0
本題思路比較簡單。因為求a的da部分(即pa)與求b的db部分(即pb)是重複的過程,故定義乙個求x的dx部分的函式。將乙個多位整數的各位提取出來是乙個常見的過程,提取之後再進行判斷處理即可。注意要把a,b,x定義為long long型,由題給範圍很容易看出來。

小提示:請將以下**儲存為.cpp格式(c++程式)左右滑動**可檢視全部內容

#include

using

namespace std;

long

long

calculate_d

(long

long x,

int dx)

;int

main()

//計算正整數 x 的「dx(為 1 位整數)部分」

long

long

calculate_d

(long

long x,

int dx)

x = x /10;

//不要忽略此處,否則將進入死迴圈

PAT 乙級 1016 部分A B

正整數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 101...

PAT 乙級 1016 部分A B

正整數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 10 ...

PAT乙級 1016 部分A B

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 正整數a的 da 為1位整數 部分 定義為由a中所有da組成的新整數pa。例如 給定a 3862767,da 6,則a的 6部分 pa是66,因為a中有2個6。現給定a ...