题解 | #计算某字母出现次数#
质数因子
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;
}