首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C程序,整数分解质因数有关问题

2012-03-21 
弱弱的问C程序,整数分解质因数问题#include stdio.hmain(){int n,i,mscanf(%d,&n)mnprintf(%d,

弱弱的问C程序,整数分解质因数问题
#include "stdio.h" 

main() 

int n,i,m; 
scanf("%d",&n); 
m=n; 
printf("%d=",n); 
for(i=2; i<n; i++) 

while(m%i==0) 

m=m/i; 
printf("%d*",i); 


printf("\b ");/*去掉最后一个*号*/ 
getch(); 

只能从2以上才行,1不行。:( 

为什么这个程序可以实现49=7×7,就是说i的值不变呢?
for循环完成后,i++后就不能再输出相同i了啊


[解决办法]
1、
1不是质因数,所以不能分解

2、
while(m%i==0) /*此循环为当m%i==0成立时执行。m=49执行一次后m=7,此时i=7,m%i==0成立,顾执行了两次printf*/
{
m=m/i;
printf("%d*",i);


[解决办法]

探讨
#include "stdio.h"

main()
{
int n,i,m;
scanf("%d",&amp;n);
m=n;
printf("%d=",n);
for(i=2; i<n; i++)
{
while(m%i==0)
{
m=m/i;
printf("%d*",i);
}
}
printf("\b ");/*去掉最后一个……

热点排行