解题思路: 短除法
参考代码:
#include <stdio.h> #include <math.h> int main(){ int factor[4]; int i = 2,j,k = 0,n; scanf("%d", &n); printf("%d=", n); while(n != 1){ if(n%i == 0){ //n被i整除则i是n的因子 for(j = 2; j <= sqrt(i); j++){ //判断因子i是不是质因子 if(i%j == 0){ break; } } if(j > sqrt(i)){ //j大于sqrt(i)则因子i是质因子 factor[k] = i; k++; } n /= i; //改变n值 i = 1; //回溯 } i++; } printf("%d", factor[0]); //因为输出格式的问题,所以先输出factor[0]保证末尾没有多余的空格 for(i = 1; i < k; i++){ printf("*%d", factor[i]); } return 0; }
0.0分
0 人评分
C二级辅导-同因查找 (C语言代码)浏览:626 |
printf基础练习2 (C语言代码)浏览:321 |
WU-输出九九乘法表 (C++代码)浏览:1852 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:637 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:913 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:953 |
一元一次方程 (C语言代码)浏览:4245 |
整数平均值 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:592 |