黑马程序员技术交流社区

标题: 这道题这样做对吗? 还有其他的方法吗? [打印本页]

作者: dbqwaii    时间: 2013-2-25 11:28
标题: 这道题这样做对吗? 还有其他的方法吗?
一个6位数乘以一个3位数得到一个结果,但不清楚6位数中其中的两个数字,而且结果中也有一个数字不知道,请编程找出问号代表的数字
      表达式:   12?56?x 123=154?4987

            //因为是三个数字,所以可以通过三层循环来进行判断
for(int i=0;i<=9;i++)   //可以保证每一个数字都是从1到9之间来进行筛选                 
{
   for (int j = 0; j <= 9; j++)        
   {
      for (int k = 0; k <= 9; k++)
      {
          int num1 = Convert.ToInt32("12" + i + "56" + j);   //因为你需要吧这些数字都加起来,所以,可以通过Convert.ToInt32
          int num2 = Convert.ToInt32("154"+k+"4987");      //来进行强转,而数字加的i,j,k,直接加到了数字中间
          if (num1 * 123 == num2)                          //通过if来进行判断,如果成立
          {
             Console.WriteLine("{0}  {1}  {2}",i,j,k);            //则输出这是哪个数字
          }
       }
               
    }
}
作者: 吕振    时间: 2013-2-25 12:12
应该是不对的,int类型无法隐式转化为string类型吧
数字后加上一个,ToString,即改为int num1 = Convert.ToInt32("12" + i.ToString + "56" + j.ToString);  int num2 = Convert.ToInt32("154"+k.ToString+"4987");      




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2