算法经典题型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++)(贪心法)相关推荐

  1. 键盘输入一个高精度的正整数n,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数最小

    键盘输入一个高精度的正整数n,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数最小. 如输入: 1785434 输出: 13 #includ ...

  2. 输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。寻找一种方案,使得剩下的数字组成的新数最小

    输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数.寻找一种方案,使得剩下的数字组成的新数最小 样例输入 n=178543 s=4 样例输出 13 思路 贪心 由于剩 ...

  3. Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。

    问题 D: 删数问题 题目描述 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数. 编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整 ...

  4. 贪心法 第5关:将给定的整数去掉任意个数字后重新组成最小整数

    任务描述 本关任务:键盘输入一个高精度的正整数 n,去掉其中任意 s 个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的 n 和 s,寻找一种方案使得剩下的数字组成的新数最小. 编程要 ...

  5. java程序1:从键盘输入圆的半径,求圆的周长和面积

    编写一个java程序,从键盘输入圆的半径,求圆的周长和面积,并输出. 要求: (1)半径仅考虑int型正整数,并综合利用所学较好地处理异常输入,包括非法整数.负整数输入时的处理.输入半径要给用户一些提 ...

  6. 数据脱敏的 6 种方案

    一.什么是数据脱敏 英文全称:Data Masking . 先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如 手机号.银行卡号 等信息,进行转换或者 ...

  7. python 获取键盘输入、同时有超时的功能_python 获取键盘输入,同时有超时的功能示例...

    如下所示: ''' ###get keyboard input and timeout =5 import sys, time, msvcrt def readInput( caption, defa ...

  8. 手工处理int3实时监控Linux系统键盘输入

    上周写了一篇Linux系统监控键盘输入的文字: https://blog.csdn.net/dog250/article/details/106425811 事后想了下,能不能不用标准的5字节32位相 ...

  9. C语言程序设计——函数 梅森尼数形如2^i-1的素数,称为梅森尼数。编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50。

    梅森尼数 形如2^i-1的素数,称为梅森尼数.编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50.其中,2^i表示2的i次方,请不 ...

最新文章

  1. apache代理模块proxy使用
  2. VISP视觉库框架详细解释
  3. SGU101 求有重边的无向图欧拉迹
  4. 电脑网络安全_电脑网络:计算机网络安全,从入门到入狱
  5. 深入分析 Flutter 初始化流程
  6. 64位系统matlab上安装libsvm
  7. C语言 删除文件 M,最全的C盘可删除文件清单
  8. int *p = *******a是什么鬼?
  9. “央视boys” 四人带货超5亿:权来康康,撒开了买
  10. springboot项目执行controller方法时进入慢的问题
  11. win11菜单怎么添加快捷方式 Windows11开始菜单添加快捷方式的设置方法
  12. 偏向锁、轻量级锁和重量级锁
  13. Spring-AOP原理详解
  14. 树莓派各种系统默认账号密码合集
  15. Android 常用开发工具以及Mac常用软件
  16. java打印 X XX XXX XXXX
  17. js,jQuery时间与时间戳相互转换
  18. JXplorer 的简单使用
  19. abaqus导出全部节点应力值
  20. C程序设计-方法与实践(清华大学出版社)习题解析

热门文章

  1. 逆波兰式 java_Java 实现《编译原理》中间代码生成 -逆波兰式生成与计算 - 程序解析...
  2. 微信小程序转码机器人----【在线实战】
  3. php对接一网通,Android招行一网通对接
  4. 写一个函数,实现 n 的阶乘
  5. 实验指南:BGP路由汇聚(下)
  6. 如何将音乐复制到您的Android手机
  7. 批量删除多个 PDF 文档空白页
  8. 微软自带虚拟机Hyper—V启用
  9. 数据挖掘实验二结果(构建cube的三个维度,即三个txt,然后做各种查询)C++实现(代码调试环境为Windows下的CLion使用WSL的Linux)
  10. revit 二次开发之创建图纸和放置视图