zoukankan      html  css  js  c++  java
  • 20200909 day4 刷题记录

    代码背诵:最大公约数,exgcd,KMP,线段树

    1 线段树

    区间求和 区间修改 带lazy标记

    2 1016 完美数

    题意

    定义:完美数(K)满足:(K)的所有不包含自己的因数({p_i}(iin [1,x]))满足

    [K=sum_{i=1}^x p_i ]

    则叫做完美数。
    实际上所有的完美数都是偶数。欧几里得证明一个偶数如果满足以下形式就是完美数:

    [K=2^{p-1}(2^p-1) ]

    其中(p)(2^p-1)都是质数。
    欧拉证明了欧几里得定理的逆定理,每个偶数完美数都是欧几里得形式。
    前四个完美数是6,28,396,8128.相应的(p=2,3,5,7)
    给定一些整数(p),不一定是质数.请你判断满足欧几里得形式的数对应的是不是完美数。
    不超过(2^{33})

    题解

    分别判断(p)(2^p-1)是否是质数。使用快速幂和素数判断。

    未AC原因

    题目理解有误。可以不必判断质因数分解,而直接考虑素数的问题。

    代码

    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    int p;
    int ksm(int x,int y)
    {
    if (y == 1) return x;
    int tp = ksm(x,y >> 1);
    if (y & 1) return tp * tp * x;
    return tp * tp;
    }
    int main()
    {
    scanf("%d",&p);
    if (p == 1)
    {
    printf("No
    ");
    return 0;
    }
    int xz = sqrt(p);
    for (int i = 2;i <= xz;i++)
    {
    if (p % i == 0)
    {
    printf("No
    ");
    return 0;
    }
    }
    int itp = ksm(2,p) - 1;
    xz = sqrt(ksm(2,p) - 1);
    for (int i = 2;i <= xz;i++)
    {
    if (itp % i == 0)
    {
    printf("No
    ");
    return 0;
    }
    }
    printf("Yes
    ");
    return 0;
    } 
    

    3 1019

    题意

    找到一个有(n)个因子的最小的正整数。输出。

    题解

    因为最终答案是小于50000的,所以我们可以从2开始枚举答案,遇到第一个有n个因子的数就输出即可。

    理解

    枚举没有考虑

    代码

    
    #include <cstdio>
    #include <cmath>
    
    using namespace std;
    
    int main()
    {
    int n;
    scanf("%d", &n);
    if (n == 1) // 1特判一下。
    {
    printf("1");
    return 0;
    }
    for (int i = 2; i <= 50000; i++)
    {
    int cnt = 0;
    for (int j = 2; j * j < i; j++)
    {
    if (i % j == 0)
    {
    cnt++;
    }
    }
    cnt <<= 1;
    if ((int)sqrt(i) * (int)sqrt(i) == i)
    {
    cnt += 3;
    }
    else
    {
    cnt += 2;
    }
    if (cnt == n)
    {
    printf("%d", i);
    return 0;
    }
    }
    return 0;
    } 
    
    要做就做南波万
  • 相关阅读:
    sp_executesql介绍和使用
    jQuery中的 return false, e.preventDefault(), e.stopPropagation()的区别
    clearfix:after 清除css浮动
    paip.mysql 性能跟iops的以及硬盘缓存的关系
    paip.mysql 性能测试 报告 home right
    paip.mysql 性能测试by mysqlslap
    paip.java 架构师之路以及java高级技术
    paip. 提升性能---hibernate的缓存使用 总结
    paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误
    paip.解决access出现 -2147467259 无效的参数量
  • 原文地址:https://www.cnblogs.com/liuziwen0224/p/20200909day4-001.html
Copyright © 2011-2022 走看看