题解 | #计算某字母出现次数#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

//----------如果质数太大,循环太多则运行时间会超时!
//------所以为了减少运行时间则循环到这个数的一半即可,在输出这个数的本身就欧克了。
#include <stdio.h>
#include <math.h>

int main()
{

long num;
scanf("%ld",&num);
int ban=sqrt(num);//输入值得一半,sqrt()开平方函数。

for(int i=2; i<=ban; i++)//循环输入值得一半减少运行时间
{
    while(num%i == 0)//如果遇到这个数一直除到不能整除为止
    {
        printf("%d ",i);
        num /=i;
    }
}
if(num != 1)//如果这个数的质数太大则输出自己
    printf("%d ",num);

return 0;

}

全部评论

相关推荐

_mos_:我以为手抄报简历就已经很顶了,没想到还有表格简历
点赞 评论 收藏
分享
Ncsbbss:又想干活又想要工资,怎么什么好事都让你占了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务