2023年9月8日pat乙級第一題

2021-09-27 01:31:02 字數 841 閱讀 1114

原題:

7-1 b是a的多少倍 (15 分)

設乙個數 a 的最低 d 位形成的數是 a​d​​。如果把 a​d​​ 截下來移到 a 的最高位前面,就形成了乙個新的數 b。b 是 a 的多少倍?例如將 12345 的最低 2 位 45 截下來放到 123 的前面,就得到 45123,它約是 12345 的 3.66 倍。

輸入在一行中給出乙個正整數 a(≤10​9​​)和要擷取的位數 d。題目保證 d 不超過 a 的總位數。

計算 b 是 a 的多少倍,輸出小數點後 2 位。

12345 2
3.66
12345 5
1.00
解題思路:

1.先計算數字的位數

2.將取掉的乘與位數,移至數字前端

**如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int cou(int a)

return n;

}int main(){

long long a;

int nu;

cin>>a>>nu;

int num=1;    

for(int i=0;i考場失誤:題目較簡單,但是除錯**浪費了相當長的時間,只是因為編譯器出現了不能在for迴圈中計算的問題

2023年9月8日pat甲級第二題

比較鏈長,較短的鍊錶逆序輸出,在資料中保留上乙個節點下標即可。每次輸出長鏈的兩個節點外加短鏈的乙個節點,同時讓當前值指向下乙個節點的下標。若最後長鏈仍有節點,則順序輸出即可。如下 include include include using namespace std const int maxn 1...

PAT 甲級 2023年9月8號 題解

第一題 dfs 剪枝 k位數不能所有的數字都遍歷一遍,必須有選擇的。選擇k位數和為m的。remain為剩下未分配數的位置的和。remain必須小於等於剩下的位數 9。因為若是大於的話,剩下的所有位數都為9,都滿足不了所有位加起來為m。比如k 3,m 20,如果第一位為1,則return。因為無論後面...

2023年8月9日訓練日記

上午先練習了乙個小時的打字,然後把週三晚上codeforces上的題補了,d那個題辦法很巧妙,自己當時沒想到,上午去做了一下去年吉林的ccpc,前三題都很簡單,沒什麼坑,第四題沒看懂,然後做了e題,是一道推公式,解二元一次方程的題,推出來公式處理好細節就過了。下午看了看有關組合數好還有排列的的相關知...