- 4
- 0
- 约4.48千字
- 约 11页
- 2021-06-13 发布于北京
- 举报
2012年9月24日Google校园招聘笔试试题
代码:
[cpp] \o view plainview plain \o copycopy \o printprint \o ??
//转载请标明出处,原文地址:/hackbuteer1/article/details/8017703??
bool?IsPrime(int?n)??
{??
????int?i;??
????if(n??2)??
????????return?false;??
????else?if(2?==?n)??
????????return?true;??
????if((n1)?==?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((n1)?==?0)????//n%2?==?0??
????????return?false;??
????if(n%3?==?0)??????//n%3?==?0??
????????return?false;??
????for(i?=?5?;?i*i?=?n?;?i?+=?step)??
????{??
????????if(n?%?i?==?0)??
????????????return?false;??
????????step?^=?6;??
????}??
????return?true;??
}??
??
void?print_prime(int?n)??
{??
????int?i?,?num?=?0;??
??
????for(i?=?0?;?;?++i)??
????{??
????????if(IsPrime2(i))??
????????{??
????????????printf(%d???,?i);??
????????????++num;??
????????????if(num?==?n)??
????????????????break;??
????????}??
????}??
????printf(\n);??
}??
代码:
[cpp] \o view plainview plain \o copycopy \o printprint \o ??
//转载请标明出处,原文地址:/hackbuteer1/article/details/8017703??
void?myswap(int?a?,?int?b?,?int*?array)??
{??
????int?temp?=?array[a];??
????array[a]?=?array[b];??
????array[b]?=?temp;??
}??
??
//利用0和其它数交换位置进行排序??
void?swap_sort(int*?array?,?int?len)??
{??
????int?i?,?j;??
????for(i?=?0?;?i??len?;?++i)??????????//因为只能交换0和其他数,所以先把0找出来??
????{??
????????if(0?==?array[i])??
????????{??
????????????if(i)???//如果元素0不再数组的第一个位置??
????????????????myswap(0?,?i?,?array);??
????????????break;??
????????}??
????}??
??
????for(i?=?1?;?i??len?;
您可能关注的文档
最近下载
- 最新国家开放大学电大本科《工程经济与管理》期末试题标准题库及答案.docx VIP
- 广工EDA实验报告.docx VIP
- 国家开放大学电大本科《工程经济与管理》2025-2026期末试题及答案(试.docx VIP
- 国家开放大学电大本科【工程经济与管理】2025-2025期末试题及答案(试.docx VIP
- 技嘉 主板 Socket 1150 GA-Z97X-Gaming 7 (rev. 1.0) 使用手册.pdf
- 广东省东莞市2023-2024学年高一上学期语文期末教学质量检测试卷 解析版.docx VIP
- 广东省东莞市2022-2023学年高一上学期语文1月教学质量检查(期末)试卷(含答案).pdf VIP
- 科威特海水淡化项目工程实施成本及能源消耗优化研究.docx
- 帆软全栈式数据应用发展历程(35页PPT).pptx VIP
- 宁德职业技术学院《财务管理》2025 - 2026学年第一学期期末试卷.docx VIP
原创力文档

文档评论(0)