NYOJ题目56-阶乘因式分解(一)&&70-阶乘因式分解(二)

思路:

对于1-X来说 可以整除Y的必定是 Y的倍数。

之后如果除掉Y之后仍然是Y的倍数的,那么一定是Y的Y*Y*....,

而1-X里有多少个Y*Y的数呢,就又返回到上一个问题了,之后又有可能是Y*Y*Y的整数倍,再次返回。

#include 
#include 
using namespace std;

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int x,y;
        cin>>x>>y;
        int sum=0;
        sum+=x/y;
        int temp=y;
        while(1)
        {
            temp=temp*y;
            if(x/temp==0)
            {
                break;
            }
            sum+=x/temp;
        }
        cout<


70题,只要把int 换成long long即可


你可能感兴趣的:(NYOJ,水题,acm)