• Poj 2603 约数个数和


    水题,求约数个数和,

    p1p2…pr为素数

    约数个数σ(n)=(1+e1)(1+e2)…(1+er)

    约数和τ(n)=(1+p1++…+)(1+p2++…+)…(1+pr++…+)

    σ(n),τ(n)都为乘性函数

    注意结果要取个位数,WA一次

     

    #include <iostream>

    #include <stdio.h>

    #include <string.h>

    using namespace std;

    const int MAX=10000;

    int prime[MAX+10];

    bool isprime[MAX+10];

    int hashprime[MAX+10];

     

    void getprime()

    {

    int i,j,cnt=0;

    memset(isprime,1,sizeof(isprime));

    isprime[0]=isprime[1]=0;

    for(i=2;i<=MAX;i++)

    {

    if(isprime[i])

    {

    prime[++cnt]=i;

    for(j=i*i;j<=MAX;j+=i)

    isprime[j]=0;

    }

    }

    prime[0]=cnt;

    }

     

    void gethashprime(int n)

    {

    int i;

    for(i=1;prime[i]*prime[i]<=n;i++)

    {

    if(n%prime[i]==0)

    {

    while(n%prime[i]==0)

    {

    hashprime[prime[i]]++;

    n/=prime[i];

    }

    }

    }

    if(n>1)

    hashprime[n]++;

    }

     

    int main()

    {

    int n,i;

    int sum=1;

    getprime();

    freopen("in.txt","r",stdin);

    for(i=1;i<=10;i++)

    {

    scanf("%d",&n);

    gethashprime(n);

    }

    for(i=1;i<=MAX;i++)

    if(hashprime[i])

    sum=sum*(1+hashprime[i])%10;

    printf("%d\n",sum);

    return 0;

    }

  • 相关阅读:
    shell编程之 ()[] {}
    mysql环境搭建
    CSS布局基础——BFC
    Java线程
    chrome developer tool—— 断点调试篇
    JavaScript技巧[转载]
    如何在github中创建演示demo
    rem在响应式布局中的应用
    javascript模块化
    浏览器客户端的数据存储
  • 原文地址:https://www.cnblogs.com/inpeace7/p/2392163.html
Copyright © 2020-2023  润新知