藍橋杯 ADV 197 演算法提高 P1001

2021-07-28 01:56:27 字數 945 閱讀 8827

當兩個比較大的整數相乘時,可能會出現資料溢位的情形。為避免溢位,可以採用字串的方法來實現兩個大數之間的乘法。

具體來說,首先以字串的形式輸入兩個整數,每個整數的長度不會超過8位,然後把它們相乘的結果儲存在另乙個字串當中

(長度不會超過16位),最後把這個字串列印出來。例如,假設使用者輸入為:62773417和12345678,

則輸出結果為:774980393241726.

輸入:

62773417 12345678

輸出:

774980393241726

#include #include #include using namespace std;

int main()

c[i] = '0';

}int temp = 0;

int k = 0;

int cou = 0;

int t = 0;

for (int i = lenb - 1; i >= 0; i--)

k = 0;

while(temp != 0)

cou++;

}for (int i = 0; i <= 18; i++)

temp = temp / 10;

c[i + 1] = temp + '0';

}int flag = 0;

for (int i = 19; i >= 0; i--)

}for (int i = flag; i >= 0; i--)

cout << c[i];

return 0;

}

藍橋杯 ADV 131演算法提高 選擇排序

問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 i k 為這個新順序。選擇排序的思想極其簡單,每一步都把乙個最小元素放到前面,如果有多個相等的最小元素,選擇排位較考前的放到當前頭部。還...

藍橋杯 ADV 20 演算法提高 交換Easy

問題描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入格式 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換的兩個整數。在一次交換中,如果x和y相等...

藍橋杯 ADV 208 演算法提高 矩陣相乘

問題描述 小明最近在為線性代數而頭疼,線性代數確實很抽象 也很無聊 可惜他的老師正在講這矩陣乘法這一段內容。當然,小明上課打瞌睡也沒問題,但線性代數的習題可是很可怕的。小明希望你來幫他完成這個任務。現在給你乙個ai行aj列的矩陣和乙個bi行bj列的矩陣,要你求出他們相乘的積 當然也是矩陣 輸入資料保...