键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。(C++)(贪心法)
算法经典题型12
键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。输入数据均不需判错。输出应包括所去掉的数字的位置和组成的新的正整数(N不超过240位)。
用到的思想—贪心法
博主用到的环境:Win7, CodeBlocks等。
一、代码
#include<iostream>
using namespace std;
int main() {int k;string s;while (cin >> s >> k) {if (k > s.size()) {cout << "Invalid Input.";continue;}while (k) {int i;for (i = 0; i < s.size() - 1 && s[i] <= s[i + 1]; i++);s.erase(i, 1);k--;}if (s.empty()) {cout << 0 << endl;continue;}int i = 0;for (i = 0; i < s.size()-1;) {if (s[i] == '0') i++;else break;}cout << s.substr(i) << endl;}
}
二、测试
总结
谢谢宝宝们的阅读,有问题的话评论@我,没问题的话点个赞再走哦~
键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。(C++)(贪心法)相关推荐
- 键盘输入一个高精度的正整数n,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数最小
键盘输入一个高精度的正整数n,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数最小. 如输入: 1785434 输出: 13 #includ ...
- 输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。寻找一种方案,使得剩下的数字组成的新数最小
输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数.寻找一种方案,使得剩下的数字组成的新数最小 样例输入 n=178543 s=4 样例输出 13 思路 贪心 由于剩 ...
- Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。
问题 D: 删数问题 题目描述 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数. 编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整 ...
- 贪心法 第5关:将给定的整数去掉任意个数字后重新组成最小整数
任务描述 本关任务:键盘输入一个高精度的正整数 n,去掉其中任意 s 个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的 n 和 s,寻找一种方案使得剩下的数字组成的新数最小. 编程要 ...
- java程序1:从键盘输入圆的半径,求圆的周长和面积
编写一个java程序,从键盘输入圆的半径,求圆的周长和面积,并输出. 要求: (1)半径仅考虑int型正整数,并综合利用所学较好地处理异常输入,包括非法整数.负整数输入时的处理.输入半径要给用户一些提 ...
- 数据脱敏的 6 种方案
一.什么是数据脱敏 英文全称:Data Masking . 先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如 手机号.银行卡号 等信息,进行转换或者 ...
- python 获取键盘输入、同时有超时的功能_python 获取键盘输入,同时有超时的功能示例...
如下所示: ''' ###get keyboard input and timeout =5 import sys, time, msvcrt def readInput( caption, defa ...
- 手工处理int3实时监控Linux系统键盘输入
上周写了一篇Linux系统监控键盘输入的文字: https://blog.csdn.net/dog250/article/details/106425811 事后想了下,能不能不用标准的5字节32位相 ...
- C语言程序设计——函数 梅森尼数形如2^i-1的素数,称为梅森尼数。编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50。
梅森尼数 形如2^i-1的素数,称为梅森尼数.编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50.其中,2^i表示2的i次方,请不 ...
最新文章
- apache代理模块proxy使用
- VISP视觉库框架详细解释
- SGU101 求有重边的无向图欧拉迹
- 电脑网络安全_电脑网络:计算机网络安全,从入门到入狱
- 深入分析 Flutter 初始化流程
- 64位系统matlab上安装libsvm
- C语言 删除文件 M,最全的C盘可删除文件清单
- int *p = *******a是什么鬼?
- “央视boys” 四人带货超5亿:权来康康,撒开了买
- springboot项目执行controller方法时进入慢的问题
- win11菜单怎么添加快捷方式 Windows11开始菜单添加快捷方式的设置方法
- 偏向锁、轻量级锁和重量级锁
- Spring-AOP原理详解
- 树莓派各种系统默认账号密码合集
- Android 常用开发工具以及Mac常用软件
- java打印 X XX XXX XXXX
- js,jQuery时间与时间戳相互转换
- JXplorer 的简单使用
- abaqus导出全部节点应力值
- C程序设计-方法与实践(清华大学出版社)习题解析
热门文章
- 逆波兰式 java_Java 实现《编译原理》中间代码生成 -逆波兰式生成与计算 - 程序解析...
- 微信小程序转码机器人----【在线实战】
- php对接一网通,Android招行一网通对接
- 写一个函数,实现 n 的阶乘
- 实验指南:BGP路由汇聚(下)
- 如何将音乐复制到您的Android手机
- 批量删除多个 PDF 文档空白页
- 微软自带虚拟机Hyper—V启用
- 数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux)
- revit 二次开发之创建图纸和放置视图