UVA1635IrrelevantElement
来源:互联网 发布:域名交易流程 编辑:程序博客网 时间:2024/06/05 09:26
//UVA1635IrrelevantElement#include<cstdio>#include<cstring>#include<cmath>#include<vector>using namespace std;const int maxn = 100000;void get_primes(int m, vector<int>& primes) {int n = floor(sqrt(m) + 0.5);for(int i = 2; i <= n; i++) {if(m % i == 0) {primes.push_back(i);while(m % i == 0) m /= i;}}if(m > 1) primes.push_back(m);//printf("primes = %d\n", primes.size());}int bad[maxn];void solve(int m, int n, vector<int> primes) {memset(bad, 0, sizeof(bad));for(int i = 0; i < primes.size(); i++) {int x = m, min_e = 0, e = 0;while(x % primes[i] == 0) { x /= primes[i]; min_e++;//唯一分解定理 } for(int k = 1; k < n - 1; k++) {//递推各项系数的素分解 x = n - k; while(x % primes[i] == 0) { x /= primes[i]; e++;//分子 }x = k;while(x % primes[i] == 0) {//分母 x /= primes[i]; e--;}if(e < min_e) bad[k] = 1;/*if(bad[i])*/ //printf("k = %d, i = %d, e = %d, min_e = %d\n", k, i, e, min_e);}}vector<int> ans;for(int k = 1; k < n - 1; k++) {if(!bad[k]) ans.push_back(k + 1);}printf("%d\n", ans.size());if(!ans.empty()) for(int i = 0; i < ans.size(); i++) {if(i) printf(" "); printf("%d", ans[i]);}printf("\n");}int main() { int n, m; while(scanf("%d%d", &n, &m) == 2 && n) { vector<int> primes; get_primes(m, primes); solve(m, n, primes);}return 0;} /*3 2*/
阅读全文
0 0
- UVA1635IrrelevantElement
- Android基础_软件的国际化 Acitivity(七)
- 重载赋值运算符
- Poj3070 Fibonacci (矩阵快速幂)
- 在CentOS7上部署OpenStack 步骤详解
- BZOJ.1036 [ZJOI2008]树的统计Count ( 点权树链剖分 线段树维护和与最值)
- UVA1635IrrelevantElement
- Scala基础入门(七)方法、类、对象详解
- LeetCode(三)HashMap169. Majority Element&350. Intersection of Two Arrays II
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测
- Mybatis从入门到精通 (二)
- 无人超市不便宜 一包棒棒糖比传统超市贵5.7元
- HDU 6112 今夕何夕 【数学公式】 (2017"百度之星"程序设计大赛
- 面试试题简析之综合分析现象类(1)
- 求最大公约数的不同解法