【发布时间】:2013-06-11 13:22:01
【问题描述】:
我想知道是否可以从用户输入 int 中求和,但总和每次都必须是随机的。
这是我编写的代码:
public static string genSum(int askedNumber)
{
string outputStr = null;
bool switchOneTwo = false;
int neededSum = 0;
int intOne = 0;
int intTwo = 0;
while (askedNumber != neededSum)
{
if (switchOneTwo == true)
{
intOne += 1;
switchOneTwo = false;
}
else
{
intTwo += 1;
switchOneTwo = true;
}
neededSum = intOne + intTwo;
if (neededSum == askedNumber)
{
if (neededSum >= 4)
{
Random randomInt = new Random();
int tmpIntOne = intOne;
int tmpIntTwo = intTwo;
int method;
//For now only one method
method = randomInt.Next(1, 1);
if (method == 1)
{
tmpIntOne = tmpIntOne / 2;
tmpIntTwo = (tmpIntTwo * 2) - tmpIntOne;
}
intOne = tmpIntOne;
intTwo = tmpIntTwo;
}
outputStr = "(" + intOne.ToString() + "+" + intTwo.ToString() + ")";
return outputStr;
}
}
return outputStr;
}
所以我想要的是,如果用户输入一个数字,例如 20,它就会得到一个总和:
用户输入 20 并按下 GO! :
结果:
10 + 10 = 20
12 + 8 = 20
5 + 15 = 20
1 + 19 = 20
3 + 17 = 20
用户输入 500 并按下 GO! :
结果:
9 + 491 = 500
263 + 237 = 500
300 + 200 = 500
250 + 250 = 500
109 + 391 = 500
【问题讨论】:
-
这里有一种可靠的方法可以完成这项工作......它也有一些额外的能力stackoverflow.com/questions/472013/…
-
@emd 对于两个数字的特殊情况,它是much, much easier。