A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dbqwaii 中级黑马   /  2013-2-25 11:28  /  1287 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一个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);            //则输出这是哪个数字
          }
       }
               
    }
}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
应该是不对的,int类型无法隐式转化为string类型吧
数字后加上一个,ToString,即改为int num1 = Convert.ToInt32("12" + i.ToString + "56" + j.ToString);  int num2 = Convert.ToInt32("154"+k.ToString+"4987");      
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马