#include <stdio.h>
#include <math.h>
int main() {
int num;
scanf("%d", &num);
printf("%d=",num);
//为了使结果显示为90=2*3*3*5形式
int i;
for (i = 2; i <= num; i++)
if (num % i == 0){
if(num!=i) printf("%d*", i);
else printf("%d",i);
num = num / i;
i = 1;
}
return 0;
}求大神让它不要运行超时
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
9条回答 默认 最新
qq_25376897 2020-12-16 17:45关注#include <stdio.h> #include <math.h> int main() { int num; scanf("%d", &num); printf("%d=",num); //为了使结果显示为90=2*3*3*5形式 if(num<=1){//小于2的直接输出 printf("%d",num); return 0; } int i; for (i = 2; i <= num; i++){ while(num%i==0){//要把同一个i都模运算完才能进入下一次for循环,因为可能会有多个一样的因子,比如90中有2个3 printf("%d",i); num/=i; if(num>1){ printf("*"); } } } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报