首页 > 编程知识 正文

正整数最小的数,一个最小的正整数

时间:2023-05-03 08:54:53 阅读:184464 作者:658

最小正整数 时间限制(普通/Java):3000MS/10000MS          运行内存限制:65536KByte
总提交:139            测试通过:34

描述

输入一个正整数N(N不超过240位,此整数中没有‘0’数字),去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。
输出最大胆的蜡烛正整数。

输入

输入数据包括多组数据,每组数据占一行,每行两个正整数N和S。直到文件结束。

输出

输出去掉任意S位后剩下数字组成的最小的新正整数。

样例输入

175438 4

样例输出

13

一开始没看清以为就是简单排序之后再是输出。果断的wa了,任意S个数字后剩下的数字按原左右次序将组成一个新的正整数这句话说明了不能排序。 之后换了种思路,如果后面的数字比前面的数字小的话就进行覆盖,直到去掉了s个数字。

#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;bool cmp(char n,char m){ return n<m;}char a[1000];int main(){ int n; while(scanf("%s",a)!=EOF) { scanf("%d",&n); int i,j; int len=strlen(a); while(n) { i=0; while(i<len&&a[i]<=a[i+1]) { i++; } n--; for(j=i;j<len;j++) { a[j]=a[j+1]; } } a[j]=''; len=strlen(a); for(i=0;i<len;i++) { printf("%c",a[i]); } printf("n"); } return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。