Duff in Love
Description
Duff is in love with lovely numbers! A positive integer?x?is called?lovely?if and only if there is no such positive integer?a?>?1?such thata2?is a divisor of?x.
Malek has a number store! In his store, he has only divisors of positive integer?n?(and he has all of them). As a birthday present, Malek wants to give her a?lovely?number from his store. He wants this number to be as big as possible.
Malek always had issues in math, so he asked for your help. Please tell him what is the biggest lovely number in his store.
Input
The first and only line of input contains one integer,?n?(1?≤?n?≤?1012).
Output
Print the answer in one line.
Sample Input
Input 10 Output 10 Input 12 Output 6Hint
In first sample case, there are numbers 1, 2, 5 and 10 in the shop. 10 isn't divisible by any perfect square, so 10 is?lovely.
In second sample case, there are numbers 1, 2, 3, 4, 6 and 12 in the shop. 12 is divisible by?4?=?22, so 12 is not?lovely, while 6 is indeedlovely.
題意:題目要求的是讓求一個數中不能被任何平方數整除的最大因數
思路:從i=2,3,……到sqrt(n),只要i的平方數能整除n,則除以i
如下代碼:
#include<iostream> #include<cstdio> #include<string> #include<algorithm> #define LL long longusing namespace std;int main(){LL n; scanf("%I64d",&n); for(LL i=2;i*i<=n;i++) { while(n%(i*i)==0) n/=i; } printf("%I64d\n",n);return 0; }
總結
以上是生活随笔為你收集整理的Duff in Love的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用自定义annotation接口进行a
- 下一篇: NYOJ 5177 疯牛(最大化最小值