反素数

目录

 

一、定义

二、性质

三、常见问题


一、定义

反素数:对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整数,都有,那么称为反素数。

 

二、性质

(1)一个反素数的所有质因子必然是从2开始的连续若干个质数,因为反素数是保证约数个数为的这个数尽量小

(2)同样的道理,如果,那么必有

 

三、常见问题

(1)给定一个数,求一个最小的正整数,使得的约数个数为

void dfs(int k,int num,ull x)
{
    if(num>n)return;
    if(num==n && ans>x)ans=x;
    s[k]=0;
    while(x*prime[k]<=ans && s[k]<s[k-1])
    {
        x*=prime[k];
        s[k]++;
        dfs(k+1,num*(s[k]+1),x);
    }

(2)求出中约数个数最多的这个数

//k:枚举到第k大的因子 num:约数的个数 x:当前枚举到的数
void dfs(int k,int num,LL x)
{
    if(k>16)return;
    if(num>ansnum || (num==ansnum && x<ans))
    {
        ans=x;
        ansnum=num;
    }
    s[k]=0;
    while(x*prime[k]<=n && s[k]<s[k-1])
    {
        x*=prime[k];
        s[k]++;
        dfs(k+1,num*(s[k]+1),x);
    }
}

 

【题目整理】反素数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值