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

来源:互联网 发布:51单片机综合设计 编辑:程序博客网 时间:2024/06/06 04:16

思路:

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

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

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

#include <iostream>#include <stdio.h>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<<sum<<endl;    }    return 0;}


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


0 0