zoukankan      html  css  js  c++  java
  • Duff in Love

    题目大意:如果一个数的所有因子都不是别的数的平方,那么这个数就是lovely数,现在给定一个数,求出这个数所有因子里面最大的lovely数

    分析:很有意思的一道题,如果把这个数因子分解成最基本的苏因子,那么 N = p1 * p2 * p3 * .....,lovely数的因子不能有别的数的平方和,那么很明就是所有的素因子只取一个就行了,也就是所有的素数因子之积。

    代码如下:


    #include<iostream>
    #include<string.h>
    #include<stdio.h>
    #include<algorithm>
    #include<math.h>
    using namespace std;
    
    const int MAXN = 1e6+7;
    const int oo = 1e9+7;
    
    long long p[MAXN]={2};
    
    bool Is_Prime(long long N)
    {
        for(int i=0; p[i]*p[i] <= N; i++)
        {
            if(N % p[i] == 0)
                return false;
        }
        return true;
    }
    int main()
    {
        long long i, N, cnt=1, ans=1, a;
    
        for(i=3; i<MAXN; i++)
        {
            if(Is_Prime(i) == true)
                p[cnt++] = i;
        }
    
        scanf("%lld", &N);
    
        for(i=0; p[i] <= N && i<cnt; i++)
        {
            if(N % p[i] == 0)
            {
                ans *= p[i];
                while(N % p[i] == 0)
                    N /= p[i];
            }
        }
    
        printf("%lld
    ", ans*N);
    
        return 0;
    }
  • 相关阅读:
    RedisPlugin
    微信、支付宝授权与支付
    在手机上预览h5项目
    localStorage
    fluter中json的处理
    flutter路由
    一个类实现多个接口
    抽象类、接口
    dart中的类
    方法
  • 原文地址:https://www.cnblogs.com/liuxin13/p/4915320.html
Copyright © 2011-2022 走看看