Topcoder 多校T-shirt场

时间:2022-04-01 21:08:01

盗用名字:C题题目都没看懂,

B:You are given a long long n. Return the largest divisor of n that is a perfect square. That is, the correct return value is x if and only if:

  1. x divides n
  2. There is an integer y such that x = y*y.
  3. x is the largest integer that satisfies conditions 1 and 2.

题目就是求最大的X*X 使N MOD (X*X)=0;

N <=10^18;

我的做法不同于很多人;

假如X*X*Y=N;

1:先枚举Y的情况枚举1-1234567左右去寻找X*X是否存在;

2:然后枚举X判断Y存在是X*X的最大值。

通过两段枚举能找到最大值