练习系统 实验三 最小数(删数)
来源:互联网 发布:sqlserver误删数据恢复 编辑:程序博客网 时间:2024/04/30 13:45
当前编程题:实验三 大数、枚举问题(16级)---最小数
7.问题描述
将给定的整数M,从中去掉K位后使所得数最小。
例:整数:1342426735 去掉4位 结果最小为122635
输入形式
一行,第一个数为十进制表示的整数M,M位长最多为20;第二个数为整数K。
输出形式
去掉K位后的最小值。
样例输入
1342426735 4
样例输出
122635
#include<iostream>
#include<string>
using namespace std;
int main()
{
string n;
int s,i,x,l,m;
while(cin>>n>>s)
{
i=-1,m=0,x=0;
l=n.length();
while(x<s&&m==0)
{
i++;
if(n[i]>n[i+1])//出现递减,删除递减的首数字
{
n=n.erase(i,1);
x++;// x统计删除数字的个数
i=-1;//从头开始查递减区间
}
if(i==l-x-2&&x<s)
m=1;//已经无递减区间,m=1脱离循环
}
cout<<n.substr(0,l-s+x)<<endl;//只打印剩下的左边l-(s-x)个数字
}
return 0;
}
#include<string>
using namespace std;
int main()
{
string n;
int s,i,x,l,m;
while(cin>>n>>s)
{
i=-1,m=0,x=0;
l=n.length();
while(x<s&&m==0)
{
i++;
if(n[i]>n[i+1])//出现递减,删除递减的首数字
{
n=n.erase(i,1);
x++;// x统计删除数字的个数
i=-1;//从头开始查递减区间
}
if(i==l-x-2&&x<s)
m=1;//已经无递减区间,m=1脱离循环
}
cout<<n.substr(0,l-s+x)<<endl;//只打印剩下的左边l-(s-x)个数字
}
return 0;
}
0 0
- 练习系统 实验三 最小数(删数)
- 练习系统 实验一 两倍数
- 练习系统 实验二 循环数
- 三、四柱汉诺塔最小步数
- PAT练习-组个最小数
- 【蓝桥杯练习系统】 基础练习 回文数
- 关于"回文数"的编程实验(三)
- 第二周JAVA上机实验(三)猜数游戏
- 实验三:十进制转换成二进制数(顺序栈)
- 最小新整数(删数问题)
- 题目三 最大最小数之差
- 练习三1020,总方案数*
- 练习系统 实验三 大整数乘法
- 练习系统 实验三 大整数加法
- 练习系统 实验三 数字三角形
- 练习系统 实验三 大整数除法
- 练习系统 实验三 赋值问题
- 蓝桥杯 练习系统 数的读法 Java
- pip安装scipy.0.18出现的问题
- try, excep, else, python关键词
- 利用朴素贝叶斯算法进行分类的原理
- 设计模式C++实现(6)——建造者模式
- Y2K Accounting Bug
- 练习系统 实验三 最小数(删数)
- 536. Construct Binary Tree from String
- 代码维护以及修改
- IP分类
- Tree——Construct Binary Tree from Inorder and Postorder Traversal
- Shatter.RIP-Unleashed\
- java——正则表达式
- OpenGL——纹理贴图
- 段子