首页 > 代码库 > HDU5108
HDU5108
题意:给你一个正整数n, 找到一个最小的数m,使得n/m为质数。
题解:质因数分解
1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 typedef long long ll; 5 6 int main() 7 { 8 ll n; 9 while( ~scanf( "%I64d", &n ) )10 {11 if( n == 1 )12 {13 puts( "0" );14 continue;15 }16 ll ans = n, cnt;17 for( ll i = 2; i*i <= n; ++i )18 if( n % i == 0 )19 {20 while( n % i == 0 ) {21 n /= i;22 cnt = i;23 }24 }25 if( n > 1 ) cnt = n;26 printf( "%I64d\n", ans/cnt );27 }28 return 0;29 }
HDU5108
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。