幸运数字III

题目描述
小李非常喜欢数字4和7,看到一个数字他就想快速计算出因子里面分别有几个4和7,但是智商捉急的他总是要算很久,喜欢编程的你能够帮助他吗?

输入
第一行一个整数n(3<=n<=2^60),表示给定的数字。

输出
两个用空格隔开的数字,分别表示给定数字的因子中4和7的个数。

样例输入
复制样例数据
112
样例输出
2 1

提示
112=447

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    long long int n;
    int x=0,y=0;
    cin>>n;
    while(n>3)
    {
        if(n%28==0)
        {
            x++;
            y++;
            n/=28;
        }
        else if(n%4==0)
        {
            x++;
            n/=4;
        }
        else if(n%7==0)
        {
            y++;
            n/=7;
        }
        else
        {
            break;
        }
    };
    cout<<x<<" "<<y<<endl;
    return 0;
}

一开始没有28,超时。

原文地址:https://www.cnblogs.com/skyleafcoder/p/12319591.html