1018 演算法提高 乘法運算

2021-07-27 09:46:01 字數 1582 閱讀 3556

時間限制: 1 sec  記憶體限制: 512 mb

提交: 10  解決: 2 [

提交][

狀態][

討論版]

題目鏈結

編制乙個乘法運算的程式。

從鍵盤讀入2個100以內的正整數,進行乘法運算並以豎式輸出。

輸入只有一行,是兩個用空格隔開的數字,均在1~99之間(含1和99)。

輸出為4行或7行,符合乘法的豎式運算格式。

89 13
89
×13
━━━
267
89
━━━
1157
3×89=267,則第四行267右側對準個位輸出。1×89=89,則第五行89右側對準十位輸出。267+890=1157,則1157右側對準個位輸出。 

解題思路:

按照題目意思就是輸入兩個不大於100的整數,輸出他們的乘法豎式。我們知道乘法豎式要麼是4行,要麼是7行。

由於這是一道藍橋杯比賽題目,放到了自家的伺服器上,結果自家人在後台只給了輸入,輸出裡面什麼都沒有,於是我按照自己思路做了一下,給後台添了輸出資料。

後台測試資料如下:

sample.in

89 13

sample.out

89×13

━━━267

89━━━

1157

1.in

15 8

1.out

15×8

━━━120

2.in

25 40

2.out

25×40

━━━00

100━━━

1000

3.in

99 91

3.out

99×91

━━━99

891━━━

9009

4.in

99 99

4.out

99×99

━━━891

891━━━

9801

#include #include #include using namespace std;

int main()

if(k1!=0)

a[c1]=k1;

if(k2!=0)

b[c2]=k2;

for(i = 0; i < 3; i++)

if(b[i]!=-1)

break;

j = i;

for(;i<4;i++)

if(a[i]!=-1)

break;

else

printf(" ");

for(;i<4;i++)

printf("%d",a[i]);

printf("\n");

for(;j<3;j++)

printf("%d",b[j]);

printf("\n");

printf("━━━\n");

printf("%d\n",t1*t2);}}

return 0;

}

演算法提高 乘法運算

時間限制 1 sec 記憶體限制 512 mb 提交 18 解決 5 提交 狀態 討論版 編制乙個乘法運算的程式。從鍵盤讀入2個100以內的正整數,進行乘法運算並以豎式輸出。輸入只有一行,是兩個用空格隔開的數字,均在1 99之間 含1和99 輸出為4行或7行,符合乘法的豎式運算格式。89 1389 ...

演算法提高 矩陣乘法

問題描述 有n個矩陣,大小分別為a0a1,a1a2,a2a3,a n 1 a n 現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為pq和qr的矩陣相乘時的運算次數計為pqr。輸入格式 輸入的第一行包含乙個整數n,表示矩陣的個數。第二行包含n 1個數,表示給定的矩陣。輸出格式 ...

演算法提高 矩陣乘法

問題描述 有 n 個矩陣,大小分別為 a0 a1,a1 a2,a2 a3,an 1 an,現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為 p q 和 q r 的矩陣相乘時的運算次數計為 p q r。輸入格式 輸入的第一行包含乙個整數 n,表示矩陣的個數。第二行包含 n 1 ...