一定要認真審題 「去掉其中任意k個數字後剩下的數字按原左右次序將組成乙個新的正整數
」 也就是說
輸入:7893400 4 輸出:300 (00在原順序中位於3後邊)
輸入:7890034 4 輸出:3 (003的00不會輸出)
把要修改的數字當做字串輸入,就可以把每一位數儲存在陣列裡了
若各位數字遞增,就刪除最後乙個數字,否則刪除第乙個遞減區間的首數字
#include
#include
#include//呼叫strlen函式
#include
#include
using namespace std;
int main()
len--;
}i=0;
while(i<=len-1&&n[i]=='0') i++; //首位為零空掉
if(i==len) printf("0"); //若刪完後只剩下0,輸出0
else
for(int j=i;j<=len-1;j++) //從首位非零數字開始輸出
cout<
return 0;
}
洛谷P1106 刪數問題
鍵盤輸入乙個高精度的正整數n,去掉其中任意k個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和k,尋找一種方案使得剩下的數字組成的新數最小。輸出應包括所去掉的數字的位置和組成的新的整數。n不超過250位 輸入資料均不需判錯。輸入格式 n 高精度的正整數 k 需要刪除的數字個數 ...
洛谷 P1106 刪數問題
題目描述 鍵盤輸入乙個高精度的正整數n 不超過250位 去掉其中任意k個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和k,尋找一種方案使得剩下的數字組成的新數最小。輸入格式 n 高精度的正整數 k 需要刪除的數字個數 輸出格式 最後剩下的最小數。輸入輸出樣例 輸入 1複製 1...
洛谷p1106 刪數問題
洛谷t2755暫時過不去了 刪數問題 傳送門 洛谷演算法標籤 emmmm 刪數問題又牽扯到了字串。因為畢竟高精度的數240位呢!要是輸入乙個整型,要碼240行來求出每一位 怕是還沒求出來就tel了。所以我們又用到了字串 真的很常用哎 這個題ac起來還是比較easy的,畢竟一本通上有題。but 一本通...