首页 > 代码库 > hdu 1492

hdu 1492

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
好高兴 一上午做了2个题  题意:求素因子只有2 3 5 7 数 约束的个数  我用的时搜索计数法  感觉还应该有比较不错的组合数学方法<br>#include<iostream>
using namespace std;
__int64 dmax;
int prime[4];
void dfs(int t)
{
    if(t>=4)
    {
        dmax++;
        return ;
    }
    for(int i=0;i<=prime[t];i++)
        dfs(t+1);
}
int main()
{
    int i;
    __int64 n;
    int a[]={2,3,5,7};
 
    while(scanf("%I64d",&n)!=EOF)
    {
        if(n==0) break;
        dmax=0;
        prime[0]=prime[1]=prime[2]=prime[3]=0;
        for(i=0;i<4;i++)
        {
            while(n%a[i]==0)
            {
                n/=a[i];
                prime[i]++;
            }
        }
        dfs(0);
        printf("%I64d\n",dmax);
    //  cout<<max<<endl;
    }
    return 0;
}