乙個陣列a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m(≥0)個位置,即將a中的資料由(a[0] a[1] ⋯ a[n−1])變換為(a[n−m]⋯a[n−1] a[0] a[1] ⋯ a[n−m−1])(最後m個數迴圈移至最前面的m個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?
輸入描述
每個輸入包含乙個測試用例,第1行輸入n(1≤n≤100)和m(≥0);第2行輸入n個整數,之間用空格分隔。輸出描述
在一行中輸出迴圈右移m位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。輸入樣例
6 2輸出樣例1 2 3 4 5 6
5 6 1 2 3 41) 讀入 n 和 m 後令 m = m % n,保證 m < n;
2) 將陣列分成 n-m 至 n-1和 0 至 n-m-1兩組分別輸出。
#includeint main()
for( i = n - m; i < n; i++ ) //輸出 n - m 號到 n - 1 號
for( i = 0; i < n - m; i++) //輸出 0 號到 n - m - 1 號
return 0;
}
浙大PAT練習題1008
nowcoder小時候走路喜歡蹦蹦跳跳,他最喜歡在樓梯上跳來跳去。但年幼的他一次只能走上一階或者一下子蹦上兩階。現在一共有n階台階,請你計算一下nowcoder從第0階到第n階共有幾種走法。對應每個輸入包括乙個輸出。為redraiment到達第n階不同走法的數量。當你跳一格時,只有一種方法,定為f ...
PAT 乙級練習題 1005
當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。例如對n 3進行驗證的時候,我們需要計算3 5 8 4 2 1,則當我們對n 5 8 4 2進行驗證的時候,就可以直接判定卡拉茲猜想的真偽,而不需要重複計算,因為這4個數已經在驗證3的時候遇到過了,我們稱5 8 4 2...
PAT 乙級練習題 1007
讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...