PAT 乙級 1016 部分A B 15

2021-07-26 14:33:24 字數 1356 閱讀 1137

時間限制

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、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
第乙個有問題的點是在輸入,
一直在想在一行內輸入,中間是空格要怎麼輸入,用scanf再加gets,覺得很麻煩,而且剛開始陣列範圍定了很大很大,程式一直沒辦法執行,一直強迫結束。
其實十的十次方最大就是11位數。
c++在輸入輸出流上的應用確實比c語言裡面的scanf要方便很多,沒有那麼多格式的限制。
所以後來用了cin直接很方便的輸入。
第二個有問題的點是在計算,
判斷出這個大數里有幾個dadb後,如何算出pa和pb
中間一直在出錯(就那種簡單數學題的錯誤),後來才找到了正確的方法,真蠢哦,宛如乙個智障。
第三是在提交的時候,第一遍用的是#include
然後會提示我編譯錯誤,不讓我用strlen,後來改了一下,加了乙個string.h就對啦,,
pat真的有毒???
第四就是覺得這樣做雖然對但是挺麻煩的。。
#include#include#includeusing namespace std;

int main()

{ int da,db;

char a[20],b[20];

cin>>a>>da>>b>>db;

int m,n;

m = strlen(a);

n = strlen(b);

int i;

int la=0,lb=0;

for(i=0;i做了半個下午胳膊就很痛

2017/2/5

PAT (乙級)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 101...

PAT乙級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 101...

PAT乙級 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 101...