【WOJ-1420-可见点】采用数论知识求互质对
来源:互联网 发布:手机怎么制作网络问卷 编辑:程序博客网 时间:2024/05/17 23:30
题目来源: http://acm.whu.edu.cn/learn/problem/detail?problem_id=1420
代码:
#include<stdio.h>#include<vector>using namespace std;vector<int> frac;int m, n;long long int ans=0;void bfs(int step, int fraci, int tol,int num){if (step >= frac.size()){if (tol & 1)ans -= (long long) m / fraci;else{ans += (long long )m / fraci;}return;}bfs(step + 1, fraci*frac[step], tol + 1,num);bfs(step + 1, fraci, tol,num);}void prime(int num){frac.clear();int cur = num;for (int i = 2; i*i <= num; i++){if (cur%i == 0&&i!=num){frac.push_back(i);while (cur%i == 0)cur /= i;}}bfs(0, 1, 0,num);}int main(){int k;scanf_s("%d", &k);for (int h = 0; h < k; h++){ans = 0;scanf_s("%d%d", &m, &n);for (int i = 1; i <= n; i++){prime(i);if ((i <= m)&&(i!=1)) ans -= 1;}if(h!=k-1) printf("%d\n",ans);else printf("%d", ans);}}
void prime(int num) 该函数求num的质因数
bfs() 求num与1...m互质对的个数。
把(1,1)看作互质对,把(2,2)不看作。
0 0
- 【WOJ-1420-可见点】采用数论知识求互质对
- WOJ Problem 1420 - 可见点
- 【2015广东工业大学新生赛D】【数论-欧拉函数】求互质对数 1~n中互质数对数
- 欧拉函数~求互质对数
- GDUT1141:求互质对数(递推 )
- 【51Nod1439】互质对
- 2015广工新生赛 Problem D: 求互质对数
- 51Nod-1439-互质对
- 互质对(51nod1439)
- 筛数法来快速求素数----数论知识,很有用的
- 数论知识
- 【知识】 数论
- 数论知识
- 数论知识
- 数论知识
- WOJ
- woj
- [POJ3090] 可见点
- 说说Android应用的persistent属性
- cocos2dx onpause崩
- hdu 3172 Virtual Friends
- Web_PHP_PHP XML DOM解析器浅谈;
- virtualBox共享文件夹的问题
- 【WOJ-1420-可见点】采用数论知识求互质对
- 学习jar命令 创建和解压jar文件包
- LeetCode(164) Maximum Gap
- 创建型设计模式
- Java爬虫搜索原理实现
- Queue 实现
- 一班里有n个学生,把各学生的姓名及学号输入并储存,再输入一个学生姓名后查找,看是否有此学生。
- Java的JDBC事务详解
- JS创建对象的探讨