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

sgu 102 Coprimes 解题报告及测试数据的更多相关文章

  1. sgu 101 Domino 解题报告及测试数据

    101. Domino time limit per test: 0.25 sec. memory limit per test: 4096 KB 题解: 求多米诺骨牌按照一定方式放置能否使相邻的位置 ...

  2. sgu 104 Little shop of flowers 解题报告及测试数据

    104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB 问题: 你想要将你的 ...

  3. sgu 103 Traffic Lights 解题报告及测试数据

    103. Traffic Lights Time limit per test: 0.25 second(s) Memory limit: 4096 kilobytes 题解: 1.其实就是求两点间的 ...

  4. sgu 100 A+B 解题报告及测试数据

    100.A+B time limit per test: 0.25 sec. memory limit per test: 65536 KB 题解:上手题,不解释. 直接上代码: #include & ...

  5. Spring-2-H Array Diversity(SPOJ AMR11H)解题报告及测试数据

    Array Diversity Time Limit:404MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Descript ...

  6. sgu 102 Coprimes

    太水了, 我都不忍心发题解, 但毕竟是sgu上一道题, 我试试能不能一直这么写下去,就是求phi,上代码 #include <cstdio> #include <cstring> ...

  7. Winter-2-STL-G Team Queue 解题报告及测试数据

    Time Limit:3000MS     Memory Limit:0KB Description Queues and Priority Queues are data structures wh ...

  8. Winter-2-STL-D The Blocks Problem 解题报告及测试数据

    Time Limit:3000MS     Memory Limit:0KB Description Background Many areas of Computer Science use sim ...

  9. Winter-2-STL-B Brackets 解题报告及测试数据

    Time Limit:2000MS     Memory Limit:65536KB Description Given a string consisting of brackets of two ...

随机推荐

  1. Thinkphp中如何书写按照指定字段同步更新的ORM

    群友提出一个问题,如何在更新某个字段的时候同步另一个字段数据过来,即 update table set column1 =column2 where xxx 写原生SQL当然可行,不过既然有ORM那就 ...

  2. String、StringBuffer与StringBuilder区别

    1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String 2.String <(StringBuffer,StringBuild ...

  3. Linux 下8种优秀的屏幕录制机

    导读 屏幕录制机已经成为常见的和良好的实践来记录一个重要桌面会话,例如,你想玩一个难度较大的游戏,并且向记录是如何完成的,或者你打算创建一个视频教程,入门文章或指南,或任何其他活动和记录你的桌面会话, ...

  4. Course Selection CodeChef - RIN

    All submissions for this problem are available. Read problems statements in Mandarin Chineseand Russ ...

  5. 1:TwoSum(如果两个和为某个数,找出这俩数的位置)

    package leetcode; import java.util.HashMap; import java.util.Map; /** * @author mercy *Example: *Giv ...

  6. 170420、maven内置常量

    Maven工程插件配置中通常会用到一些Maven变量,因此需要找个地方对这些变量进行统一定义,下面介绍如何定义自定义变量. 在根节点project下增加properties节点,所有自定义变量均可以定 ...

  7. 较快的maven的settings.xml文件

    <?xml version="1.0" encoding="UTF-8"?> <settings> <!-- <localR ...

  8. greenplum-cc-web4.0监控安装

    简介: 本文是基于greenplum5.7,greenplum-cc-web4.0安装的. 一.安装greenplum监控的数据库以及创建用户(在gpadmin用户下安装) 1.开启greenplum ...

  9. linux系统分析命令总结

    一张图片

  10. 转载(web app变革之rem)

    rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...