我们给了两个正数num1和num2。目标是在两个数字都替换为数字后找到这两个数字的最小和最大和。我们被允许在两个数字中替换每个数字中的数字。假设num1为434,num2为324,我们可以将数字3替换为4,将数字4替换为3。那么最小和为-333 + 323 = 656,最大和为444 + 424 = 864。
让我们以数字替换3的示例来理解3,反之亦然-
num1=3224 num2=4321
输出结果
Maximum sum is : 8645 Minimum sum is : 6544
解释-用4替换所有3,使两个数字都大,因为4大于3。
num1变为4224,num2变为4421,总和为8645,将所有4替换为3,使两个数字都较小,因为3小于4。
num1变为3223,num2变为3321,总和为6544
num1=3111 num2=4111
输出结果
Maximum sum is : 8222 Minimum sum is : 6222
解释-用4替换所有3,使两个数字都大,因为4大于3。
num1变为4111,num2变为4111,sum为8222,将所有4s替换为3s,以使两个数字都较小,因为3小于4。
num1变为3111,num2变为3111,总和为6222
数字存在于变量num1和num2中。
函数calculateSum(int n1,int n2)用于计算数字替换后的最小和最大数字总和。
它使用两个数字n1和n2作为参数,并显示存储在minSum和maxSum中的结果。
首先,我们将两个数字中的每4个都替换为3,并分别通过分别调用replace(n1,4,3)和replace(n2,4,3)将新值存储在num2和num2中。
通过添加新的num1和num2计算最小总和。
类似地,通过调用replace(n1,3,4)和replace(n2,3,4)来重复上述步骤以将每3个乘以4并计算最大和。
函数replace(int x,int digit1,int digit2)用数字2替换x中的每个数字1并返回新数字。
变量编号存储新获得的编号,并以0初始化。
temp用于为每次迭代存储乘数10。
通过将x除以10并将余数存储在rem中,我们将从右手获得每个数字。
如果rem等于digit1,则将其替换为digit2。将其相加以获得新的数字=数字+数字2 * temp;
否则,不变号=数字+ rem * temp;
通过将x除以10来减少x,并将乘数增加10。(remp = temp * 10)
返回获得的号码。
#include<bits/stdc++.h> using namespace std; //用digit2替换digit1- int replace(int x, int digit1, int digit2){ int number = 0; int temp = 1; while (x > 0){ int rem = x % 10; //找到所需的数字,将其替换 if (rem == digit1) number = number + digit2 * temp; else number = number + rem * temp; temp *= 10; x = x / 10; } return number; } void calculateSum(int n1, int n2){ //用3代替4- int num1=replace(n1,4,3); int num2=replace(n2,4,3); int minSum=num1+num2; //用3代替3- num1=replace(n1,3,4); num2=replace(n2,3,4); int maxSum=num1+num2; std::cout << "Minimum Sum by digit replacement: " << minSum; std::cout << "\nMaximum Sum by digit replacement: " << maxSum; } int main(){ int num1 = 3131, num2 = 4141; calculateSum(num1, num2); return 0; }
输出结果
Minimum Sum by digit replacement: 6262 Maximum Sum by digit replacement: 8282
问题内容: 我有一个像这样的猫鼬计划… 我有2个问题… 当我尝试插入字符串“ abc”时,它会静默忽略此字段的插入。模式中的其余字段将成功插入。我的印象是它将抛出异常。有可能这样做吗? 如果我尝试插入5,它只是允许它,看来min和max根本没有起作用。 我想念什么? 问题答案: 该验证可以帮助你。下面是一个示例。 尝试插入时,出现以下错误 尝试插入时,出现以下错误
具有矩阵A的: 我想计算所有行中两个相邻数字之间的最大和最小差异。然后过滤以仅限制相邻数字min小于4和7之间的行,最大值在6和12之间的行。输出应该返回无行。 对于以下矩阵: 结果应该是第1行
问题内容: 我有一个日期格式为201201、201202、201203等的列。 这是一个财务数据库,因此存在期间13;但是,期间12和13合并用于报告目的。 当最后两个字符为13时,如何将其替换为12? 我开始与 但是,当然,这与2013年这一年相去甚远。 感谢收到所有建议。 问题答案: 在这种情况下,您可以使用Substring: 这是否适合您,还是您需要在过去或未来几年采用更具活力的方法?
我正在尝试解决此问题: 一位物理教授给班上的学生做项目。学生们必须组成一个两人小组来做这个项目。教授让学生来决定队伍。一个班级的学生人数将是偶数。 每个学生都有自己的知识水平。它告诉每个学生有多少知识。一个团队的知识水平是两个学生知识水平的总和。 学生们决定组成小组,这样知识最高的团队和知识最低的团队之间的差异就最小了。 投入 输入的第一行将包含测试用例的数量t;在接下来的t行中,第一个数字是n,
我正在寻求帮助,我正在制定的代码,我希望它取代最后两个字母。我正在编写一个程序,它将: 将四个字母的单词替换为“FRED” 将以“ed”结尾的单词的最后两个字母替换为“id” 最后,如果单词以“di”开头,请将前两个字母替换为“id” 我对第二条规则有困难,我知道对于数字3,我可以使用replaceFirst();并使用长度作为第一条规则,但我不确定如何具体交换字符串中的最后两个字符。 以下是我目
你是一个电视游戏节目的参与者,这给了你赢得奖金的机会。在游戏中,你会看到一系列框,每个框都包含一个允许你看到的正整数值。你有机会选择任何数量的盒子。您的总奖金是您选择包含的所有盒子的总和。这个游戏只有一个限制:如果你选择了两个连续的盒子,你不允许在总数中添加任何后续的盒子,而你的奖品是截至该点的累计金额。你的目标是最大化你的奖金。 给定一个正整数数组,代表游戏中呈现给你的每个盒子的值,返回你能赢得