《算法设计》课程
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
--删数问题
《算法设计》课程报告
课题名称: 算法设计
课题负责人名(学号): -- 同组成员名单(角色): --
指导教师: --- 评阅成绩: 评阅意见:
提交报告时间:2014年 6 月 17 日
课程名称: 学生姓名: 学生学号:
删数问题
计算机科学与技术 专业
学生 -- 指导老师 ---
[题目描述] 给定 n 位正整数 a,去掉其中任意 k?n 个数字后,剩下 的数字按原次序排列组成一个新的正整数。 对于给定的 n 位正整数 a 和正整数 k, 设计一个算法找出剩下数字组成的新数最小的删数方案。 编程任务:对于给定的正整数 a,编程计算删去 k 个数字后得到的最 小数。
数据输入:由文件 input.txt 提供输入数据。文件的第 1 行是 1 个正 整数 a。第 2 行是正整数 k。
结果输出: 程序运行结束时,将计算出的最小数输出到文件 output.txt。 输入文件示例 输出文件示例
Input.txt output.txt 178543 13
4
[关键词] 删除数位 最小数
-1-
课程名称: 学生姓名: 学生学号: [算法分析]
采用贪心算法,每次将整数转换成字符串,从最高位开始每次删
去最大的字符,重复k次之后即可得到最小数,算法复杂度为O(kn),
空间复杂度为O(n)
[程序实现]
#include
#include
#include
#include
#include
using namespace std;
#define MAXSIZE 100
int MinDelete(char* str,int k){
int len = strlen(str);
for(int i=0;imaxValue){
maxValue = str[j]-'0';
maxIndex = j;
}
}
str[maxIndex] = '\0'; //将最大字符删去
}
char temp[MAXSIZE];
int s = 0;
for(int r=0;r>strPath;
ofstream fout(strPath);
if(fin.good() && fout.good()){
fin>>n>>k;
char str[MAXSIZE];
itoa(n,str,10);
fout<
本文档为【《算法设计》课程报告--删数问题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。