問題描述:
對乙個方陣轉置,就是把原來的行號變列號,原來的列號變行號
例如,如下的方陣:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
轉置後變為:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
但,如果是對該方陣順時針旋轉(不是轉置),卻是如下結果:
13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4
下面的**實現的功能就是要把乙個方陣順時針旋轉。
void rotate(int* x, int rank)
{ int* y = (int*)malloc(___________________); // 填空
for(int i=0; i第乙個空就是考察的malloc函式的使用方法:sizeof(int)*rank*rank;
我們首先使用二維座標表示方陣中的元素:
旋轉之前為a[m][n],旋轉之後為a[n,rank-1-m];
我們假設a[m][n]等價於a[i],則m=i/rank,n=i%rank;
a[n,rank-1-m]等價於a[j],則 j=n*rank+(rank-1-m)=(i%rank)*rank+(rank-1-i/rank);
第乙個空的答案是:sizeof(int)*rank*rank
第二個空的答案是:(i%rank)*rank+(rank-1-i/rank)
2023年藍橋杯 初賽試題 奇怪的比賽
題目描述 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽...
2012 藍橋杯 初賽試題 大數乘法
大數乘法 對於32 位字長的機器,大約超過 20億,用 int型別就無法表示了,我們可以選擇 int64 型別,但無論怎樣擴充套件,固定的整數型別總是有表達的極限!如果對超級大整數進行精確運算呢?乙個簡單的辦法是 僅僅使用現有型別,但是把大整數的運算化解為若干小整數的運算,即所謂 分塊法 如圖 1....
2012藍橋杯 初賽試題 奪冠概率
題目描述 足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。假設有甲 乙 丙 丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表 甲 乙 丙 丁 甲 0.1 0.3 0.5 乙 0.9 0.7 0.4 丙 0.7 0.3 0.2 丁 0.5 0.6 0.8 資料含義 甲對...