试题详情
- 简答题通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
-
为了尽可能地逼近目标,我们选取的贪心策略为:每一步总是选择一个使剩下的数最小的数字删去,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字,否则删除第一个递减区间的首字符。然后回到串首,按上述规则再删除下一个数字。重复以上过程s次,剩下的数字串便是问题的解了。
具体算法如下:
输入s,n;
while(s>0)
{i=1; //从串首开始找
while(i
{i++;}
delete(n,i,1); //删除字符串n的第i个字符
s--;
}
while(length(n)>1)&&(n[1]=‘0’)
delete(n,1,1); //删去串首可能产生的无用零
输出n; 关注下方微信公众号,在线模考后查看
热门试题
- 输入某年,某月,某日,判断这一天是这一年
- 在Access中,关于数据表的主关键字,
- 通过比较说明双绞线、同轴电缆与光纤三种常
- 图像的类型分为矢量型和点阵型两种,下列关
- 在Excel2003中,以下可以用来&l
- 关予Dreamweaver,以下说法不正
- 李老师作为一名信息技术的老师,他布置课后
- 下列关于软件的说法正确的是()。
- 宽度优先和深度优先是两种()。
- 下列用于表示“判断&rdqu
- 下列有关信息的说法正确的是()。
- 下列属于机器世界术语的有() ①关键字
- Excel2003中,单击“插入”菜单中
- 把网络202.112.78.0(子网掩码
- 下列说法错误的是()。
- 信息技术的三大支柱是什么?
- 在数据库中,产生数据不一致的根本原因是(
- 某单位的人事档案管理程序属于()。
- 为保障学校局域网的安全,学校决定添置硬件
- 586微机中的"586"是指()。