1 ,打印1000到2000之间的闰年
明白闰年的定义:能被4整除而不能被100整除的数或者能被400整除的数字(注意是或者!!!)
(看代码的时候可以忽略count计数,我这是为了方便看两种方法结果)
这是十分复杂的,面试官问你还可以精炼一点吗,你应该说 of course
结果一模一样,简化了不止半点~
两个& 是并且,两个|是或者的意思
2 , 打印100到200之间的素数(素数是只能被1和自身整除的数)
首先得有100到200之前的数,定义这个数为i for (i = 100; i < 200; i++) 思路:i不能整除2到i-1之间的数 定义这个数为m: for (m = 2; m < i; m++) 用i%m==0判断i是否为素数就ok啦
还有一种方法,先假设i就是素数(int flag=1),用if语句判断i是否可以被m整除,可以就改变flag=0,不打印,反之打印的数就是素数
这个方法还可以再简化运算,如果说 i➗小于等于 i的开平方数都没有整除,那它也一定是素数,这个方法过程没有简化,但却简化了电脑运算
我们已经知道偶数一定不是素数,直接在奇数中筛选素数让运算更简单