zoukankan      html  css  js  c++  java
  • POJ 3993 / HDU 3353

    题意:没看懂,实验室的队友们6翻了。

    大体就是,打一个素数表,然后把这个数分解了。最后问的是有多少个不同的指数,和两个数之间的距离,也就是指数之差的和。

    代码:

    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    #include <math.h>
    using namespace std;
    const int maxn=1123456;
    int prime[maxn];
    int vis[maxn];
    
    int init(int n)
    {
        memset(vis,0,sizeof(vis));
        int len=0;
        for(int i=2; i<n; i++)//
        {
            if(vis[i]==0)
            {
                prime[len++]=i;
                for(int j=i*2; j<maxn; j+=i)
                {
                    vis[j]=1;
                }
            }
        }
        return len;
    }
    const int maxm=88000;
    
    void solve(int n,int *s)
    {
        for(int i=0;i<maxm;i++)
        {
            s[i]=0;
        }
        int pos=0;
        while(n!=1)
        {
            while(n%prime[pos]==0)//
            {
                n/=prime[pos];
                s[pos]++;
            }
            pos++;
        }
    }
    int A[maxm],B[maxm];
    int main()
    {
        int a,b;
        int lener=init(maxn);
        int cas=1;
        while(~scanf("%d%d",&a,&b)&&(a||b))
        {
            solve(a,A);
            solve(b,B);
            int dis=0;
            int d=0;
            for(int i=0; i<lener; i++)
            {
                if(A[i]||B[i])
                {
                    d++;
                    dis+=abs(A[i]-B[i]);
                }
            }
            printf("%d. %d:%d
    ",cas++,d,dis);
        }
        return 0;
    }
  • 相关阅读:
    怪题
    reflow(回流)和repaint(重绘)
    typeof
    Apicloud——图片不适配屏幕解决方案
    (学习笔记二)Apicloud使用中的坑
    es6的10个新特性
    QQ刷屏脚本
    vue的组件绑定
    console控制台打印看板娘
    Canvas
  • 原文地址:https://www.cnblogs.com/qioalu/p/5226718.html
Copyright © 2011-2022 走看看