美文网首页
最大约数问题

最大约数问题

作者: Cipolee | 来源:发表于2019-03-07 20:36 被阅读0次

原创

使用数论中的“唯一分解定理”和“约数定理”

问题描述:正整数x的约数是能整除x的正整数。设a和b是两个正整数,a<=b,找出a和b之间约数个数最多的数x。
输入输出样例:
Input:
1 36
Output:
9

百度词条:关于唯一分解定理
百度词条:关于约数定理
那个,{latex}语法没打学会,先就把分析写在纸上拍照了

我的解析
#include<iostream>
#include<cstdio>
using namespace std;
#define N 10000+10
int A[N],P[N],F[N];
int main()
{
    int ans=1;
    int sta,end1;
    scanf("%d%d",&sta,&end1);
    int cnt=0;
//    for(int i=0;i<=end1;i++)
//    {
//        F[i]=0;
//    }
    for(int i=2;i<=end1;i++)
    {
        if(!F[i])
        {
            P[cnt++]=i;
            F[i]=A[i]=2;
        }
        for(int j=0;j<cnt&&i*P[j]<=end1;j++)
        {
            F[i*P[j]]=2;
            A[i*P[j]]=2*A[i];
            if(i%P[j]==0)
            {
                F[i*P[j]]=F[i]+1;
            A[i*P[j]]=A[i]/F[i]*F[i*P[j]];
              break;
            }
            //cout<<"haha"<<endl;

        }
        if(i>=sta)
            ans=max(A[i],ans);
    }
    cout<<ans<<endl;
}

相关文章

  • 最大约数问题

    原创 使用数论中的“唯一分解定理”和“约数定理” 问题描述:正整数x的约数是能整除x的正整数。设a和b是两个正整数...

  • 最大公约数

    最大公约数 自然数d同时是a,b的约数,称d是a和b的公约数,d是a和b的公约数中最大的一个,d就是最大公约数,记...

  • 算法笔记(7)| 数学问题(1)

    1.最大公约数与最小公倍数 1.最大公约数 最大公约数是指正整数a和b中都能够除尽的最大的数。解决最大公约数是方法...

  • 2.求两个数的最大公约数

    题目:求两个数的最大公约数 方式一:使用辗转相除法求两个数的最大公约数 具体代码如下:这里有两个问题?问题1: 为...

  • 最大公约数与最小公倍数(Java)

    最大公约数[1] ①定义 几个自然数公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。 ...

  • 最大公约数(GCD)

    最大公约数问题 题目描述 输入两个正整数,求其最大公约数。 输入描述: 测试数据有多组,每组输入两个正整数。 输出...

  • 最大公约数

    最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。 想求两个数找最大公约数是什么?...

  • 最大公约数与最小公倍数与素数与回文数

    最大公约数与最小公倍数 问题分析:a. 最小公倍数可以由两个数的乘积除以两个数的最大公约数得到。b. 最大公约...

  • 最大公约数

    一、辗转相除法1,循环除 2,迭代除 扩展:a,b最小公倍数=(ab最大公约数^2)a/最大公约数b/最大公约数=...

  • 最大公约数问题

    问题 n 是小于 50 的自然数,3n+5 和 5n+4 有不等于 1 的公约数,求满足条件的 n 的和。 解答

网友评论

      本文标题:最大约数问题

      本文链接:https://www.haomeiwen.com/subject/mbyqpqtx.html