UVA10622
来源:互联网 发布:ubuntu改装win10 编辑:程序博客网 时间:2024/06/07 12:34
代码比较简单,唯一分解
// UVA 10622#include <iostream>#include <vector>using namespace std;typedef long long ll;#define PMAX 50000int a[PMAX];vector<ll> prime;void init(){ for(ll i=2 ; i*i<PMAX; i++){ if(a[i]) continue; for(ll j=i*i;j<PMAX;j+=i) a[j]=1; } for(int i =2; i< PMAX; i++) if(!a[i]) prime.push_back(i);}int gcd(int a ,int b){ return b == 0? a : gcd(b, a%b);}int solve(ll n){ ll nn=n; n= n<0? -n:n; int ans=0; for( int i = 0; i< prime.size() && prime[i]<=n ; i++){ int num =0 ; while (n % prime[i] == 0){ num++; n /= prime[i]; } ans =gcd(ans , num); } if( ans == 0) ans =1; if(nn < 0){ while(ans % 2 ==0) ans =(ans>>1); } return ans;}int main(){ init(); ll nn; while(cin>>nn ,nn){ cout<<solve(nn)<<endl; } return 0;}//int is_prime(int num){// if(num==1) return 0;// if(num<PMAX) return !p[num];// for(int i = 2; i*i < num && i < PMAX; i++){// if(p[i]) continue;// if(num%i==0) return 0;// }// return 1;//}
0 0
- UVA10622
- uva10622
- UVa10622 Perfect P-th Powers
- 当导演的好处,你不能错过
- Java基础第十天--Date类,DateFormat类,Calendar类,System类
- Android底部菜单(中间功能键)仿qq空间客户端
- 编写一个函数,它从一个字符串中提取一个子字符串
- login shell 和 non-login shell
- UVA10622
- JavaFx第一弹
- C++找对象的季节——旱冰场造价问题
- 解决hibernate懒加载导致的nullPosition
- linux的c下递归访问所有文件
- 《本人书籍阅读启览》
- Python进阶(二)
- ios MKNetworkKit 的使用
- 反转链表