码迷,mamicode.com
首页 > 其他好文 > 详细

因子和阶乘

时间:2014-11-27 15:53:37      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   sp   for   div   log   bs   

题意太多我就不写了

来说思路吧:刚看完这道题我有点蒙 不知道从何入手  后来看了大牛的博客才写出来这些,首先我们得先求出所有素数,然后用每个素数除就可以了,然后用p[i]来存个数

下面看代码吧:

#include<stdio.h>
#include<string.h>

int is_prime(int n)
{
    for(int i = 2;i*i <= n;i++)
    {
        if(n%i==0) return 0;
    }
    return 1;
}

//素数表
int prime[100],count = 0;
int main()

{
    //n和各个数的指数
    int p[100],n;
    for(int i = 2;i <= 100;i++)
    {
        if(is_prime(i))prime[count++] = i;
    }

    while(scanf("%d",&n))
    {
        printf("%d != ",n);
        memset(p,0,sizeof(p));
        int maxp = 0;
        for(int i = 1;i <= n;i++)
        {
            int m = i;
            for(int j = 0;j < count;j++)
            {
                while(m % prime[j] == 0) //反复除以prime[j],并累加p[j];
                {
                    m /= prime[j];
                    p[j]++;
                    if(j > maxp)maxp = j;
                }
            }
        }
        //只循环到最大下标
        for(int i = 0;i <= maxp;i++)
        {
            printf(" %d",p[i]);
        }
        printf("\n");
    }
}

 

因子和阶乘

标签:style   blog   io   color   sp   for   div   log   bs   

原文地址:http://www.cnblogs.com/zhanyage110/p/4126354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!