暴力解决一切,仅适合小白

rin和快速迭代

http://www.nowcoder.com/questionTerminal/a797241b43f34ed4a9ef6018747c30b1

其实这个题目完全可以暴力解决
直接附代码,毕竟签到题

#include<stdio.h>
#include<math.h>
long long f(long long n) 
{
    long long sum=0;
    for(long long i=1;i<=sqrt(n*1.0);i++)  //自行百度为啥可以开根号,i记得用long long ,否则会爆
    {
        if(n%i==0)
            if(i*i!=n)              //若不等说明i*另外一个属=n,所以+2
                sum+=2;
            else                    //如果i*i=n说明只能多一个因数
                sum++;
    }
    return sum;
}
int main()
{
    long long n;
    int sum=0;
    scanf("%lld",&n);
    while(n!=2)
    {
        sum++;
        n=f(n);    
    }
    printf("%d\n",sum);
    return 0;
}
全部评论
你这个过不来了
点赞 回复
分享
发布于 2020-02-04 20:41
现在确实过不了,case 90%
点赞 回复
分享
发布于 2020-02-05 10:48
滴滴
校招火热招聘中
官网直投
抱歉第一次写的时候拉的是之前的代码,i定为int了,但是我在后面的注释写的是long long,只要把int改成long long就过了
点赞 回复
分享
发布于 2020-02-05 13:47

相关推荐

点赞 评论 收藏
转发
8 1 评论
分享
牛客网
牛客企业服务