u013388899
何立
采纳率0%
2014-01-05 12:02

1到9组成3个三位数,每个数字恰好使用一次,要求3个数的比满足1:2:3,然后输出。

已结题

1到9组成3个三位数,每个数字恰好使用一次,要求3个数的比满足1:2:3,然后输出。这个怎么入手?

  • 点赞
  • 收藏
  • 复制链接分享

3条回答

  • DoctorCZM 寧靜以致遠 7年前

    经过分析发现,这三个数的中最小的那个数的百位只能在(1, 2, 3)中取,然后从利用暴力法求出第一个数a1,将a1*2、a1*3算出,是否有重复数字,有重复,直接下一组数。
    如下伪代码:
    for(int i = 1; i <= 3; ++ i)
    {
    for(int j = 1; j <= 9; ++ j)
    {
    if(i == j) continue;
    for(int k = 1; k <= 9; ++ k)
    {
    if(k == i || k == j) continue;
    a1 = 100*i + 10*j +k;
    a2 = 2*a1;
    a3 = 3*a1;
    //判断a1, a2, a3是否有重复数字,若无则为所求
    }
    }
    }
    以上办法是笨了点,希望对您有帮助!

    点赞 2 评论 复制链接分享
  • A8765498135498432789 A8765498135498432789 7年前

    这种问题 你百度下 代码不就有了吗。

    点赞 评论 复制链接分享
  • u013316504 沙漠中的旅人 7年前

    其实这种问题有个好办法,那就是暴力法,
    虽然看起来不高端,但绝对好用,而且时间复杂度也不高。

    可否明白?

    点赞 评论 复制链接分享