供参考……
#include "stdio.h"//
#include "math.h"//
void main(void){
int n,i,cx;
printf("请输入一个整数:\n");
scanf("%d",&n);
printf("您输入的整数是:%d\n",n);
printf("下面开始循环求解过程!\n\n");
while(n>1){
if(!(n%2)){
printf("%d是偶数,",n);
while(!((n/=2)%2));
printf("连续除以2得奇数:%d\n",n);
continue;
}
cx=(int)sqrt(n)+1;
for(i=3;i
if(i
printf("%dx3+1=",n);
(n*=3)+=1;
}
}
大哥,你说的“重复以前的工作,直到得到的结果为1”什么意思?重复什么工作啊?
#include "stdafx.h"
#include "math.h"
void main()
{
int num,temp=0;
printf("请输入一个整数: \n");
scanf("%d",&num);
temp=num;
printf("您输入的整数是:%d\n",num);
printf("下面开始循环求解过程!\n ");
while(num!=1)
{
if(num%2==0)
{
num=num/2;
temp=num;
}
else
{
for(int i=3;i<=sqrt(num);i++)
{
if(num%i==0)
{
printf("%d 不是质数\n",num);
printf("%d 的一个分解因式为:%d\n",num,i);
break;
}
}
if(num!=temp)
printf("%d 是质数\n",num);
num=3*num+1;
}
}
printf("循环求解结束!num=1\n");
}