Java蓝桥杯 素因子去重
问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定 n<=10^12 样例解释:n=1000=2^353,p=2*5=10 思路:一看见那种去除重复啥的题,立马想到set函数。分析他们之间的关系。 import java . util . HashSet ; import java . util . Scanner ; import java . util . Set ; public class Main { public static void main ( String [ ] args ) { Scanner scanner = new Scanner ( System . in ) ; int n = scanner . nextInt ( ) ; Set < Integer > set = new HashSet < Integer > ( ) ; for ( int i = 2 ; i < n ; i ++ ) { while ( n % i == 0 ) { n /= i ; set . add ( i ) ; } } set . add ( n ) ; int num = 1 ;