描述
小紅又給小明出難題了,這次的問題是給小明一些非負整數,讓他按照一定的規則程式設計改寫這些整數,規則如下:
如果某個正整數中有n個相同的數字x連續出現,那麼將它們改寫成「nx」的形式;
對於單獨出現的數字x,將其改寫成「1x」的形式。
例如,122344111應該改寫為1122132431。
由於小明的編碼能力太弱,所以請你幫他程式設計解決這個問題。
輸入輸入的第一行是乙個正整數n(n<=1000),表示測試資料的組數。
接下來n行,每行輸入乙個要改寫的非負整數,每個整數的位數不超過1000。
輸出對於每組輸入,輸出改寫後的形式。
輸入樣例 1
3122344111
1111111111
12345
輸出樣例 1
1122132431
1011112131415
這裡首先是輸入整數,但是根據題意可以得出其實輸入的是字串,輸入之後使用迴圈進行遍歷如果後面的和前面的相同則記下相同的個數當達到不同時輸出按格式輸出,注意對最後一位和倒數第二位的判斷
#include #include using namespace std;
int main()
else
}if(a[a.length()-1]==a[a.length()-2])
cout
cout<<"1"
}return 0;
}
問題1168 改寫整數
改寫整數 描述小紅又給小明出難題了,這次的問題是給小明一些非負整數,讓他按照一定的規則程式設計改寫這些整數,規則如下 如果某個正整數中有n個相同的數字x連續出現,那麼將它們改寫成 nx 的形式 對於單獨出現的數字x,將其改寫成 1x 的形式。例如,122344111應該改寫為1122132431。由...
1168 大整數加法
1168 大整數加法 時間限制 1000 ms 記憶體限制 65536 kb 提交數 13304 通過數 3838 題目描述 求兩個不超過200位的非負整數的和。輸入 有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。輸出 一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是3...
1168 大整數加法
1168 大整數加法 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 求兩個不超過200位的非負整數的和。輸入 有兩行,每行是乙個不超過200位的非負整數,可能有多餘的前導0。輸出 一行,即相加後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。輸入樣...