首页 > 资料专栏 > HRM > 人力资源 > 面试甄选 > Google_9_24校园招聘会笔试题DOC

Google_9_24校园招聘会笔试题DOC

zhaopin***
V 实名认证
内容提供者
资料大小:719KB(压缩后)
文档格式:DOC
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2022/10/15(发布于四川)

类型:积分资料
积分:10分 (VIP无积分限制)
推荐:升级会员

   点此下载 ==>> 点击下载文档


文本描述

 代码:
[cpp] view plaincopyprint?
//转载请标明出处,原文地址:http://blog.csdn/hackbuteer1/article/details/8017703??
bool?IsPrime(int?n)??
{??
????int?i;??
????if(n?<?2)??
????????return?false;??
????else?if(2?==?n)??
????????return?true;??
????if((n&1)?==?0)????//n%2?==?0??
????????return?false;??
????for(i?=?3?;?i*i?<=?n?;?i?+=?2)?????//只考虑奇数??
????{??
????????if(n?%?i?==?0)??
????????????return?false;??
????}??
????return?true;??
}??
??
/*?
考虑到所有大于4的质数,被6除的余数只能是1或者5?
比如接下来的5,7,11,13,17,19都满足?
?
所以,我们可以特殊化先判断2和3?
但后面的问题就出现了,因为并非简单的递增,从5开始是+2,+4,+2,+4,....这样递增的?
这样的话,循环应该怎么写呢??
?
首先,我们定义一个步长变量step,循环大概是这样?for?(i?=?5;?i?<=?s;?i?+=?step)?
那么,就是每次循环,让step从2变4,或者从4变2?
于是,可以这么写:?
*/??
bool?IsPrime2(int?n)??
{??
????int?i,?step?=?4;??
????if(n?<?2)??
????????return?false;??
????else?if(2?==?n?||?3?==?n)??
????????return?true;??
????if((n&1)?==?0)????//n%2?==?0??
?