HDU 1405
2016-08-07 20:36
253 查看
题意:
输入一个数n,输出它的素因子与这个素因子出现的次数.
分析:
用欧拉函数,变下形就好了,不再过多解释.
代码如下:
输入一个数n,输出它的素因子与这个素因子出现的次数.
分析:
用欧拉函数,变下形就好了,不再过多解释.
代码如下:
#include <iostream> #include <cstdio> #include <cstring> #include <fstream> #include <ctime> #include <cmath> #include <cstdlib> #include <algorithm> #include <set> #include <map> #include <list> #include <stack> #include <queue> #include <iterator> #include <vector> using namespace std; #define LL long long #define INF 0x3f3f3f3f #define MOD 1000000007 #define MAXN 10000010 #define MAXM 1000010 const int maxn = 65537; int a[maxn]; void euler_phi(int n) { int m = (int)sqrt(n+0.5); //int ans = n; for(int i = 2; i <= m; i++ ) if(n%i==0) { //ans = ans/i*(i-1); while(n%i==0) { a[i]++; n /= i; } } if(n > 1) a ++; // ans = ans/n*(n-1); // return ans; } int main() { int n; int kase = 0; while(scanf("%d", &n)==1&&n>=0) { if(kase) printf("\n"); memset(a, 0, sizeof(a)); euler_phi(n); printf("Case %d.\n", ++kase); for(int i = 2; i <= n; i++ ) if(a[i]) printf("%d %d ", i, a[i]); printf("\n"); } return 0; }
相关文章推荐
- 【HDU】1405 The Last Practice(分解质因数)
- HDU 1405 The Last Practice 数学水题
- hdu 1405
- The Last Practice hdu 1405
- hdu 1405 The Last Practice 输出格式需注意
- hdu 1405 The Last Practice(数论:欧拉函数的变形)
- [恢]hdu 1405
- HDU 1405 The Last Practice(数学题,变态的格式)
- HDU 1405 The Last Practice - 解题心得
- hdu_1405 The Last Practice
- HDU 1405 The Last Practice
- hdu-oj 1405 The Last Practice
- HDU 1405 The Last Practice(求质因子及其个数 )
- HDU 1405 The Last Practice
- hdu 1405 Presentation Error (PE)
- hdu 1405
- hdu1405 The Last Practice
- HDU 1405 The Last Practice
- hdu 1405 The Last Practice (数学)
- HDU 1405 The Last Practice