我的代码尝试检查此方程式中是否存在未知值n的解: x1 + n v1 = x2 + n v2 给定输入x1,v1,x2,v2,并输入 x1 v1 x2 v2 。这样我就可以告诉“ YES”,是否存在等式两边都满足相同值的值。
在我的代码中,n 被称为输出。
出于好奇,这里是问题link
string kangaroo(int x1, int v1, int x2, int v2) {
string output;
int x3;
int v3;
x3 = x1-x2;
v3 = v2-v1;
int div = x3/v3;
int remain = x3%v3;
if(div > 0 && remain == 0){
output = "YES";
}else{
output = "NO";
}
return output;
}
我的代码可以工作,但是会引起运行时错误,其中x1 v1 x2 v2是43 2 70 2,对于我的解决方案来说太大了。我问我的案子有什么可能的改进措施?
if(x1<x2 && v1<v2){
return "NO";
}else{
if(v1!=v2 && ((x2-x1)%(v1-v2)==0)){
return "YES";
}else{
return "NO";
}
}
结果:
1。。检查x1,x2和v1,v2值是否创建了不想要的结果 (x1-x2和v1-v2为负,那么这是不必要的)
2。检查除数是否不为零(如果v1!= v2,则不除以零 情况)
致谢。
答案 0 :(得分:0)
您应该更详细地学习数学,线性代数。对于v1 = v2,这些变量的任何值都将导致运行时错误,因为您将被零除。
对于v1 = v2的情况,方程组无法求解。
答案 1 :(得分:0)
您将收到def make_great(magicians):
"""This function adds the 'The Great' in front of a magicians name"""
great_magicians = [] #A new list to hold names of new magicians
while magicians: #This while loop runs while the parameter 'magicians' has elements in it
magician = magicians.pop() #Element from magicians parameter held in magician varibale
great_magician = magician + " the Great" #Creating a new element to store great_magician
great_magicians.append(great_magician) #Adding great_magicians to empty list
for great_magician in great_magicians: #Adding elements in great_magician back into magicians
magicians.append(great_magician)
return magicians
magician_names1 = ['inho','mumbo jumbo','trick shotta','hwolla']
magician_names1 = make_great(magician_names1[:])
print(magician_names1)
,这表明只能在运行时检测到此错误。
runtime_error
在这里,您必须确保v3不为零。