| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 624 人关注过本帖
标题:哪位大佬,给我看下这个用java如何写?
只看楼主 收藏
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
结帖率:0
  已结贴   问题点数:10  回复次数:16   
哪位大佬,给我看下这个用java如何写?
有一工人甲,工资是三位数ABC元(一个字母代表0-9中一个数字),组内其它五个工人的工资可以这样表示:ACB,BAC,BCA,CAB,CBA,且这五个工人的工资总额为3194元。请问工人甲的工资具体是多少?
2018-05-22 20:05
疯狂的小a
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:351
专家分:1485
注 册:2018-2-6
  得分:4 
自己想想再问,这么简单

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 20:20
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
数学不好,脑壳痛
2018-05-22 20:21
疯狂的小a
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:351
专家分:1485
注 册:2018-2-6
  得分:0 
程序代码:
package com.xiaoa.test;

/**
 * 有一工人甲,工资是三位数ABC元(一个字母代表0-9中一个数字),组内其它五个工人的工资可以这样表示:ACB,BAC,BCA,CAB,CBA,且这五个工人的工资总额为3194元。请问工人甲的工资具体是多少?
 *
 *
 
*/
public class Demo3 {
    public static void main(String[] args) {
        for (int i = 0; i <= 9; i++) {
            for (int j = 0; j <= 9; j++) {
                for (int k = 0; k <= 9; k++) {
                    int ABC = i * 100 + j * 10 + k;
                    int ACB = i * 100 + k * 10 + j;
                    int BAC = j * 100 + i * 10 + k;
                    int BCA = j * 100 + k * 10 + i;
                    int CAB = k * 100 + i * 10 + j;
                    int CBA = k * 100 + j * 10 + i;
                    int sum = ABC + ACB + BAC + BCA + CAB + CBA;
                    if (sum == 3194) {
                        System.out.println("工人甲的工资: " + ABC);
                    }
                }
            }
        }
    }
}
好像没找到结果,你看看是不是我的代码有问题

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 20:31
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
好好,我看下
2018-05-22 20:33
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
sum中多了个ABC+,本来就是求abc的,
2018-05-22 20:55
疯狂的小a
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:351
专家分:1485
注 册:2018-2-6
  得分:0 
原来如此,那你,改改,应该可以了

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 21:19
疯狂的小a
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:14
帖 子:351
专家分:1485
注 册:2018-2-6
  得分:0 
程序代码:
package com.xiaoa.test;

/**
 * 有一工人甲,工资是三位数ABC元(一个字母代表0-9中一个数字),组内其它五个工人的工资可以这样表示:ACB,BAC,BCA,CAB,CBA,且这五个工人的工资总额为3194元。请问工人甲的工资具体是多少?
 *
 *
 
*/
public class Demo3 {
    public static void main(String[] args) {
        for (int i = 0; i <= 9; i++) {
            for (int j = 0; j <= 9; j++) {
                for (int k = 0; k <= 9; k++) {
                    int ABC = i * 100 + j * 10 + k;
                    int ACB = i * 100 + k * 10 + j;
                    int BAC = j * 100 + i * 10 + k;
                    int BCA = j * 100 + k * 10 + i;
                    int CAB = k * 100 + i * 10 + j;
                    int CBA = k * 100 + j * 10 + i;
                    int sum = ACB + BAC + BCA + CAB + CBA;

                    if (sum == 3194) {
                        System.out.println("工人甲的工资: " + ABC);
                    }
                }
            }
        }
    }
}

工人甲的工资: 358

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 21:20
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:90
帖 子:1527
专家分:6651
注 册:2015-3-19
  得分:4 
程序代码:
class Untitled {
    /**
     * 分析:特殊五位数加和:ACB,BAC,BCA,CAB,CBA表示为
     *    100A+200*(B+C)+10B+20*(A+C)+C+2*(A+B)=3194;
     *    122A+212B+221C=3194
     *  由于简单判断,122A+212B为偶数,故只有C为偶数等式成立
     *  则C的步长可以为2
     *  其他特征不明显,可后期优化。
     *
*/
    public static void main(String[] args) {
        find(0,0,0);
        System.out.println("统计次数:"+count);
        
    }
    /** 次数统计 */
    static int count;
    /**
     * 嵌套判断
     *
*/
    public static void find(int a, int b, int c){
        count++;
        if(122*a+212*b+221*c==3194){
            System.out.println("统计结果:"+(a*100+b*10+c));
        }
        // 步长为2,有前期分析得到
        c+=2;
        if(c>9){
            c=0;
            b+=1;
        }
        if(b>9){
            b=0;
            a+=1;
        }
        if(a>9)
            return;
        find(a,b,c);
    }   
}



[此贴子已经被作者于2018-5-22 22:27编辑过]

附件: 您没有浏览附件的权限,请 登录注册

不过是爱情,可以走很久
2018-05-22 22:25
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:90
帖 子:1527
专家分:6651
注 册:2015-3-19
  得分:0 
程序代码:
class Untitled {
    /**
     * 分析:三角阵的起点可模拟坐标系实现,简化代码
     *
*/
    public static void main(String[] args) {
        for(int i=-9;i<=9;i++){
            for(int j=-9;j<=9;j++){
                if((i>j&&i+j>0)||(j>i&&i+j<0)){
                    int r = Math.abs(i);
                    int c = Math.abs(j);
                    System.out.print(r>c?r-c:c-r);
                }
                else
                    System.out.print(" ");   
            }
            System.out.println();
        }
    }
}
附件: 您没有浏览附件的权限,请 登录注册

不过是爱情,可以走很久
2018-05-22 22:41







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.113891 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved