算法第4章实践报告
Posted xm-dream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第4章实践报告相关的知识,希望对你有一定的参考价值。
1.实践题目
7-2 删数问题
2.问题描述
给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。
输入格式:第 1 行是1 个正整数 a。第 2 行是正整数k。
输出格式:输出最小数。
输入样例:在这里给出一组输入。例如:
178543
4
输出样例:在这里给出相应的输出。例如:
13
3.算法描述
运用贪心算法求解,从前往后比较,若第i个数比第i+1个数大,则用第i+1个数覆盖第i个数,否则继续,直到最后一个数;如果被覆盖的数的个数少于题目要求删掉的个数,继续重复覆盖操作。
代码如下:
1 #include<string.h> 2 #include<iostream> 3 using namespace std; 4 int main() 5 { 6 int i ,k; 7 char a[100]; 8 cin>>a>>k; 9 int len = strlen(a); 10 while (k>0){ 11 i=0; 12 while(i<len&&a[i]<=a[i+1])i++; 13 while(i<len){ 14 a[i]=a[i+1]; 15 i++; 16 } 17 k--; 18 } 19 i=0; 20 while(a[i]==‘0‘&&i<len) 21 i++; 22 if (a[i]==‘