102. Coprimes

time limit per test: 0.25 sec.

memory limit per test: 4096 KB

题解:

求一个1-10000之间的数 N 的互质数个数。题目很简单,有两种方法:

1、复杂度是O(n^2),依次判断从1到N-1的数是否与N互质。

​2、复杂度是O(n),换一种想法,先求与N不互质的数的个数,然后用N减去即可。例如9,从2开始循环,3与9不互质,那么3的倍数也与9不互质,所以6也与9不互质。因为N很小,所以可以开一个数组a[10005],初始化为0,将与N不互质的位置标记为1,然后cnt++。

以下是代码(解法2):

#include <iostream>
using namespace std;
int a[10005];
int main(){
int n,cnt=1;//cnt初始化为1,即默认n与n不互质
cin >> n;
for(int i=2;i<n;i++)
if(a[i]==0){ //如果i是n的因数,且未标记过
if(n%i==0)
for(int j=1;j*i<n;j++)//将所有i的倍数,标记为 1 ,cnt++
if(a[i*j]==0){
a[j*i]=1;
cnt++;
}
}
if(n==1)cout << "1"<<endl;
else cout << n-cnt<<endl; //n-cnt即是答案
}

  

以下是测试数据:

sample input

100

50

18

10

9

sample output

40

20

6

4

6

最新文章

  1. Js/Jquery获取iframe中的元素
  2. Oracl中sql书写技巧
  3. sql事务的调用
  4. Spring + Spring MVC+Hibernate框架整合详细配置
  5. Docker中自动化搭建Hadoop2.6完全分布式集群
  6. 利用gitHub搭建博客
  7. 常用SQL语句优化技巧
  8. C#获取网上图片的宽高代码
  9. [Android] Android开发优化之——使用软引用和弱引用
  10. Bleed Brake Master Cylinder with Intelligent Tester IT2
  11. TP5学习基础二:目录结构、URL路由、数据操作
  12. UI性能优化
  13. asp.net 限制上传文件的大小与时间
  14. ThinkPhp3.2.3 使用phpExcel导入数据
  15. MySQL(十一)视图及存储过程
  16. SpringMVC @SessionAttributes 使用
  17. JS常用工具函数(持续记录)
  18. 【干货】Linux内存数据的获取与转存 直捣密码
  19. Python.__getattr__Vs__getattribute__
  20. GitLab 项目创建后地址由Localhost改为实际IP的方法

热门文章

  1. JavaScript设计模式——观察者模式
  2. php 实现Iterator 接口
  3. Xamarin绑定微信SDK 实现分享功能
  4. jfinal如何调用存储过程?
  5. js 函数递归优化,arguments.callee 优化
  6. centos7 安装kafka Manager
  7. Android实时推送
  8. 在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
  9. Oulipo----poj3461(kmp模板)
  10. 你应该知道的vim插件之surround.vim