锁定老帖子 主题:华为-赛门铁克 笔试题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-23
先看看最后面的数是不是偶数,如果是则遍历字符串的各个数字然后相加,得出的输入过是3的倍数就可以被6整除。。。应该说比较简单吧
|
|
返回顶楼 | |
发表时间:2009-11-27
最后修改:2009-11-27
(2)若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 (3)若一个整数的数字和能被3整除,则这个整数能被3整除。 (6)若一个整数能被2和3整除,则这个数能被6整除
|
|
返回顶楼 | |
发表时间:2009-11-30
xichao007521 写道 其实这道题由一个很简单的解法,
初中时的一个定理,连续三个数一定能被3整除,比如123%3=0,234%3=0 题目中给出的String = "123456789123..."是9个为一组的连续的数。 所以: 1、判断String最后一位是否可以被2整除,是,执行2,否则String不能被6整除,退出。 2、length为String的长度,leftLength = length%3,将String最后几位(0-3位)相加,若不能被3整除,退出。 3、该String能被6整除。 代码清单如下: public static void main(String[] args) { // TODO Auto-generated method stub String str = "12345678912345678"; char ch[] = str.toCharArray(); int len = ch.length; if(Integer.parseInt(ch[len-1] + "") % 2 != 0) { System.out.print("该STRING不能被6整除"); } else { int leftLen = len % 3; int sum = 0; for(int i = leftLen - 1; i < len - 1; i++) { sum = Integer.parseInt(ch[i] + "") + sum; } if(sum % 3 != 0) { System.out.print("该STRING不能被6整除"); }else { System.out.print("该STRING能被6整除"); } } } 窃以为这位兄台的解决方案是这道题目的最优解决方案 |
|
返回顶楼 | |
发表时间:2010-01-06
yuyee 写道 这题目很简单的
很简单的话 你可以吧答案写一下 让大家交流一下 |
|
返回顶楼 | |
发表时间:2010-01-06
能被6整除的数必然可以被2和3整除,被3整除的数字各位相加必然是3的倍数,被2整除的数字位数是偶数,很容易做判断
|
|
返回顶楼 | |
发表时间:2010-01-07
华塞是个什么公司,是不是像华为那样
|
|
返回顶楼 | |
发表时间:2010-01-08
我08年做过这套题,楼主忘记了最关键的一句话, 不能用数学计算,例如,+-*/
|
|
返回顶楼 | |