机试2个题 随机生成1,2,3,4,5,6,7,8,9,并且使用它们 组合成3个 数,如327 654 981,第2个数是第一个数的2倍,第3个数是第一个数的3倍,并且不能出现重复数字输入一个字符串能实现四则运算 如 输入2+3*3 结果就为11. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一题, for (int i=123; i<=329; i++){ //比111大的最小数123,比333小的最大数 Set numbers = new HashSet(); numbers.add(i%10); numbers.add(i/100); numbers.add(i/10%10); numbers.add(i*2%10); numbers.add(i*2/100); numbers.add(i*2/10%10); numbers.add(i*3%10); numbers.add(i*3/100); numbers.add(i*3/10%10); if (numbers.size()==9) System.out.println("" + i + "," + i*2 + "," + i*3); }有5组解。 哦,注释少了点,不过很简单,就是从123循环到329(其他数超范围,没必要看)取i i*2 i*3这三个数的各个数字加到一个集合中,集合长度如果为9,则表明数字没有重复,那这个i就是一个解,将其打印出来即可。 for (int i=123; i<=329; i++){ //比111大的最小数123,比333小的最大数 Set numbers = new HashSet(); numbers.add(i%100); //取个位数 numbers.add(i/100); // 取百位数 numbers.add(i/10%10); // 取十位数 numbers.add(i*2%100); //取两倍时个位数 numbers.add(i*2/100); //取两倍时百位位数 numbers.add(i*2/10%10); //取两倍时十位数 numbers.add(i*3%100); //取三倍时个位数 numbers.add(i*3/100);//取三倍时佰位数 numbers.add(i*3/10%10);//取三倍时十位数 if (numbers.size()==9) // 利用set 集合不能存放重复值 不需个要考虑十位数 百位数是0 如果是0 set 集合将不能存放9个值 最多只能存放 7 System.out.println("" + i + "," + i*2 + "," + i*3); } 过滤器 =====================各位老大,帮帮忙吧,我急死了,OpenId问题==========会php也要帮帮忙===== 怎么在struts2中执行<result>返回的页面 dom4j解析xml问题! powerdesigner与oracle的连接 Spring+Sql Server数据库表设计问题 java中遍历目录? 1.resin真的不用考虑中文问题吗?非也!2.使用session的一点心得 EJB的疑惑 hibernate4.3需不需要搭建log4j的日志环境? application得到的属性为空? iframe的问题,朋友们请进
Set numbers = new HashSet();
numbers.add(i%10);
numbers.add(i/100);
numbers.add(i/10%10);
numbers.add(i*2%10);
numbers.add(i*2/100);
numbers.add(i*2/10%10);
numbers.add(i*3%10);
numbers.add(i*3/100);
numbers.add(i*3/10%10);
if (numbers.size()==9)
System.out.println("" + i + "," + i*2 + "," + i*3);
}有5组解。
取i i*2 i*3这三个数的各个数字加到一个集合中,集合长度如果为9,则表明数字没有重复,那这个i就是一个解,将其打印出来即可。
Set numbers = new HashSet();
numbers.add(i%100); //取个位数
numbers.add(i/100); // 取百位数
numbers.add(i/10%10); // 取十位数
numbers.add(i*2%100); //取两倍时个位数
numbers.add(i*2/100); //取两倍时百位位数
numbers.add(i*2/10%10); //取两倍时十位数
numbers.add(i*3%100); //取三倍时个位数
numbers.add(i*3/100);//取三倍时佰位数
numbers.add(i*3/10%10);//取三倍时十位数
if (numbers.size()==9) // 利用set 集合不能存放重复值 不需个要考虑十位数 百位数是0 如果是0 set 集合将不能存放9个值 最多只能存放 7
System.out.println("" + i + "," + i*2 + "," + i*3);
}