zoukankan      html  css  js  c++  java
  • HDU 1492 The number of divisors(约数) about Humble Numbers 数论

    The number of divisors(约数) about Humble Numbers
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
     

    Description

    A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, ... shows the first 20 humble numbers. 

    Now given a humble number, please write a program to calculate the number of divisors about this humble number.For examle, 4 is a humble,and it have 3 divisors(1,2,4);12 have 6 divisors. 

    Input

    The input consists of multiple test cases. Each test case consists of one humble number n,and n is in the range of 64-bits signed integer. Input is terminated by a value of zero for n. 

    Output

    For each test case, output its divisor number, one line per case. 

    Sample Input

    4
    12
    0

    Sample Output

    3
    6


    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <iomanip>
    #include <math.h>
    using namespace std;
    #define FIN     freopen("input.txt","r",stdin);
    #define INF     0x3f3f3f3f
    #define lson    l,m,rt<<1
    #define rson    m+1,r,rt<<1|1
    typedef long long LL;
    
    int main()
    {
        //FIN
    
        LL n;
        while(~scanf("%lld",&n)&&n)
        {
            LL res=1;
            int a=1,b=1,c=1,d=1;
            while(n!=1&&n%2==0)  {a++;n/=2;}
            while(n!=1&&n%3==0)  {b++;n/=3;}
            while(n!=1&&n%5==0)  {c++;n/=5;}
            while(n!=1&&n%7==0)  {d++;n/=7;}
            res=a*b*c*d;
            printf("%lld
    ",res);
        }
    
    }
    

      




  • 相关阅读:
    C++ *和&
    leetcode 338. Bit位计数
    leetcode 216. 组合总和 III
    leetcode 40. 组合总和 II
    c++ vector 常用函数
    leetcode 491. 递增子序列
    leetcode 441. 排列硬币
    leetcode 258. 各位相加
    leetcode 415. 字符串相加
    leetcode 67. 二进制求和
  • 原文地址:https://www.cnblogs.com/Hyouka/p/5721479.html
Copyright © 2011-2022 走看看