输入一个高精度的正整数N(N不超过200位),去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数:编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数字最小
private string Calc(string N, int S)
{
if (S <= 0) return N;
char c = N[0];
int j = 0;
for (int i = 1; i < N.Length - 1; i++)
if (c > N[i])
return Calc(N.Remove(j, 1), S - 1);
else if (c < N[i])
{
c = N[i];
j = i;
}
return N;
}
/*---演算过程
N=234[9]0293847213847958723489502319482035345983958727351925,S=20
N=23[4]0293847213847958723489502319482035345983958727351925,S=19
N=2[3]0293847213847958723489502319482035345983958727351925,S=18
N=[2]0293847213847958723489502319482035345983958727351925,S=17
N=02[9]3847213847958723489502319482035345983958727351925,S=16
N=023[8]47213847958723489502319482035345983958727351925,S=15
N=0234[7]213847958723489502319482035345983958727351925,S=14
N=023[4]213847958723489502319482035345983958727351925,S=13
N=02[3]213847958723489502319482035345983958727351925,S=12
N=0[2]213847958723489502319482035345983958727351925,S=11
N=0[2]13847958723489502319482035345983958727351925,S=10
N=013[8]47958723489502319482035345983958727351925,S=9
N=01347[9]58723489502319482035345983958727351925,S=8
N=0134[7]58723489502319482035345983958727351925,S=7
N=01345[8]723489502319482035345983958727351925,S=6
N=01345[7]23489502319482035345983958727351925,S=5
N=0134[5]23489502319482035345983958727351925,S=4
N=013[4]23489502319482035345983958727351925,S=3
N=01[3]23489502319482035345983958727351925,S=2
N=012348[9]502319482035345983958727351925,S=1
*/
分享到:
相关推荐
这是一个用C++写的简单算法,里面没用到什么高深的东西,就是基本的控制语句组成。
对于给定的n位正整数a 和正整数k,设计一个算法找出剩下数字组成的新数 最小的删数方案。 «编程任务: 对于给定的正整数a,编程计算删去k个数字后得到的最小数。 Input 由文件input.txt提供输入数据。文件的第1...
试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 编程任务:对于给定的由n 行数字组成的数字三角形,编程计算从三角形的顶至底的路径经过的数字和的最大值。 Input 输入数据...
给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径,使该路径经过的数字总和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 编程任务: 对于给定的由n 行数字组成...
此为C++语言算法:大整数去掉其中N个数使所得到的数值为最小!
(1)、实验题目:给定一个地区的n 个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并得到的最小生成树的代价。 (2)、实验要求: 1、城市间的距离网采用的邻接矩阵表示,邻接矩阵的存储结构定义采用...
试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 ★算法设计:对于给定的由n行数字组成的数字三角形,计算从三角形的项至底的路径经过的数字和的最大值。 ★数据输入:由文件input...
分治算法求n个数的数组中找出第二个最大元素
给定一个由n行数字组成的数字三角形,如下图所示。 试设计一个算法,计算出从三角形的顶部至底部的一条路径,使得该路径上经过的数字总和值最大。
在算法考试中的最后一题,题目为:对于任意一个数字n,我们有一个长度为2n的数组,我们需要把1~n个数填入这个数组里2次。填入数字的规则如下:当填入数字n时,另一个n必须与当前的n距离为n,例如两个1之间要夹着一个...
1、输入n个数(不重复),求n个数字的全排列 如:n=3 全排列的数字为 1 2 3 则输出 123 132 213 231 321 312 2、输入n和k(n》=k)求n个数字的(n,k)排列 如n=3,k=2 输入的三个数位1 2 3 则输出 12 13 21 23 31...
试着设计一个算法,找出删去k个数,剩下数字组成的新数最小的删数方案。 输入格式 可输入多组测试数据(不超过50组测试数据),每组测试数据分两行,每行一个数,数的含义如下。 第一行:正整数a(a是大于0的一个n...
全排列算法 实例 一种实现了n个数全排列的算法 全排列算法 实例 一种实现了n个数全排列的算法
在18位整数762191754639820563中,删除1个数字,使剩下的17位数最大,如何删除? 7 6 2 9 1 7 5 4639820563 16485679数中删除4个数字的贪心操作步骤。 1 6 4 8 5 6 7 9 出现1删除6 6 4 8 5 6 7 9 出现4删除4 6 ...
问题描述: 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列成一个新的正整数。 算法设计: 给定n (1<=n)位的正整数a和k...试着设计一个算法,找出删去k个数,剩下数字组成的新数最小的删数方案。
输入一个N位高精度的正整数,去掉其中任意K个数字后剩下的数字...写算法对给定的N和K,寻找一种方案使得剩下的数字组成的新数最小。 输入:N、K以及一个N位高精度的正整数 输出:剩下的数字组成的最小新数 如下图所示:
, xn,求这n 个数在实轴上相邻2 个数之间的最大差值。假设对任何实数的下取整函数耗时O(1),设计解最大间隙问题的线性时间算法。 编程任务:对于给定的n 个实数x1, x2,...,xn,编程计算它们的最大间隙。 Input ...
每个测试用例的第一行是一个正整数 a, 第二行是正整数 k, 表示要从 a 中删除 k 个数字. 输入直到没有数据为止. Output 对于每个测试用例, 在一行上输出得到的最小数. Sample Input 178543 4 Sample Output ...
实现数字签名算法以及验证数字签名算法的正确性。本程序经本人验证
RSA算法和RSA数字签名算法的实现,RSA算法和RSA数字签名算法的实现,RSA算法和RSA数字签名算法的实现