AcWing 3815. 最大约数
4 分钟能读完
题目描述
一个正整数
给定一个正整数
输入格式
第一行包含整数
每组数据占一行,包含一个整数
输出格式
每组数据输出一行结果。
数据范围
样例
输入样例:
2
10
12
输出样例:
10
6
思路
任意正整数
可爱数
对于
要使得
所以给
分解质因数完成后,
所以结束后,当
代码
C++
#include <iostream>
using namespace std;
typedef long long LL;
int main()
{
int T;
cin >> T;
while ( T-- )
{
LL n, res = 1;
cin >> n;
for ( int i = 2; i <= n / i; i ++ )
if ( n % i == 0 )
{
res *= i;
while ( n % i == 0 ) n /= i;
}
res *= n;
cout << res << endl;
}
return 0;
}
Java
import java.util.*;
public class Main
{
static Scanner in = new Scanner(System.in);
public static void main(String args[])
{
int T = in.nextInt();
while ( T-- > 0 )
{
long n = in.nextLong(), res = 1;
for ( int i = 2; i <= n / i; i ++ )
if ( n % i == 0 )
{
res *= i;
while ( n % i == 0 ) n /= i;
}
res *= n;
System.out.printf("%d\n", res);
}
}
}
这篇在全部 101 篇里的位置: