程式設計題 數字翻轉 大數加法

2021-07-26 09:47:18 字數 958 閱讀 6344

對於乙個整數x,定義操作rev(x)為將x按數字翻轉過來,並且去除掉前導0。例如:

如果 x = 123,則rev(x) = 321;

如果 x = 100,則rev(x) = 1.

現在給出整數x和y,要求rev(rev(x) + rev(y))為多少? 

輸入描述:

輸入為一行,x、y(1 ≤ x、y ≤ 1000),以空格隔開。

輸出描述:

輸出rev(rev(x) + rev(y))的值

輸入例子:

123 100

輸出例子:

223

哎,開始不知道咋想的,這題硬是做了很久,被自己給坑了。

題意分析:

觀察可以發現,一共進行了兩次翻轉,仔細一想,轉過來轉過去,其實就是沒有翻轉,只需要去除前導0和後導0即可。

rev(x) + rev(y)計算的時候,由於翻轉的原因,每乙個數都是把後導0刪除掉,但是字串再加的時候,是從前往後加,所以不需要翻轉。再計算外部的rev的時候,由於前面沒有翻轉,所以這裡也不需要翻轉,只需要去掉之前計算的前導0,然後直接輸出即可。

#include #include #include #include using namespace std;

char a[1010], b[1010], c[1010];

int main()

else

}if(num)

c[j] = '\0';

// 去除前導0

bool flag = 0;

for(i = 0; i < strlen(c); i ++)

if(c[i] == '0' && flag == 0)

else

printf("\n");

return 0;

}

程式設計題 翻轉翻轉

時間限制 1秒 空間限制 262144k 給定乙個n m的矩陣,在矩陣中每一塊有一張牌,我們假定剛開始的時候所有牌的牌面向上。現在對於每個塊進行如下操作 翻轉某個塊中的牌,並且與之相鄰的其餘八張牌也會被翻轉。如上矩陣所示,翻轉中間那塊時,這九塊中的牌都會被翻轉一次。請輸出在對矩陣中每一塊進行如上操作...

演算法題 數字翻轉

對於乙個整數x,定義操作rev x 為將x按數字翻轉過來,並且去除掉前導0。例如 如果 x 123,則rev x 321 如果 x 100,則rev x 1.現在給出整數x和y,要求rev rev x rev y 為多少?輸入描述 輸入為一行,x y 1 x y 1000 以空格隔開。輸出描述 輸出...

python 刷題 數字翻轉

對於乙個整數x,定義操作rev x 為將x按數字翻轉過來,並且去除掉前導0。例如 如果 x 123,則rev x 321 如果 x 100,則rev x 1.現在給出整數x和y,要求rev rev x rev y 為多少?輸入為一行,x y 1 x y 1000 以空格隔開。輸出rev rev x ...