正整數 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在一行中輸出 pa+pb 的值。
3862767 6 13530293 3
399
3862767 1 13530293 8
0
基本思路就是,根據給定的dx,遍歷原數值的每一位,計算dx的出現次數,然後構造n個dx組成的新整數px。
這裡需要掌握的關鍵點是整數的按位遍歷。有兩種方法,一是將整數存成字元陣列,遍歷陣列的每乙個元素;二是利用除法和取餘來遍歷。
我使用的是後者。
#includeint main()
a /= 10;
} //process b
while(b!=0)
b /= 10; }
printf("%lld\n",pa+pb);
return 0;
}
? 《演算法筆記》pat甲乙級參考** PAT B1016 部分A B 題解
正整數 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 輸入格式 輸入在一行中依次...
PAT B1016 部分A B (簡單模擬)
note 除 中的讓k1 10外,還可通過 10的方法列舉a b的每一位 while a 0 正整數 a 的 da 為 1 位整數 部分 定義為由 a 中所有 d a組成的新整數 p a 例如 給定 a 3862767,d a 6,則 a 的 6 部分 p a 是 66,因為 a 中有 2 個 6。...
PAT B1016字串儲存數字及操作
題目描述 正整數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,...