输入一个整数,与另一个整数相乘使乘积由0,1组成,求这个整数最小值
我是这么写的,有些0的情况没考虑:
int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = 1;
while (true)
{
long result = Math.BigMul(num1, num2) ;
Regex r = new Regex(@"^(0|1)+$");
if (r.IsMatch(result.ToString()))
{
Console.WriteLine(num2.ToString());
return;
}
num2++;
}
但是这样循环会造成装箱操作。有木有数学方法可以解决啊?分不多啊,谢谢朋友了。
------解决方案--------------------
你的装箱是指:result.ToString();num2.ToString(); 如果是这样的话,那也没有什么关系的,这样的应该影响不大的。