69,369
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
void main()
{
int i,t,x;
printf("input x\n");
scanf("%d",&x);
printf("%d=",x);
t=x;
do
{
for(i=2;i<=t;i++)
{
if(t%i==0)
{
t=t/i;
if(t!=1)
printf("%d*",i);
else
printf("%d\n",i);
break;
}
}
}while(t>1);
}
#include <stdio.h>
void main()
{
int a,i;
scanf("%d",&a);
printf("%d=",a); /*开头部分*/
for ( i=2; i<=a; )
{
if ( a%i==0 ) /*当i是a的因子时*/
{
printf("%d",i); /*打印因子*/
if ( a==i ) /*如果此时的a和i相等,那么i已经是a的最后的因子了,跳出循环*/
break;
a = a/i; /*将a的值和因子相除得到的便是之后a的值*/
printf("*"); /*打印乘号*/
}
else /*当i不是a的因子是,i++*/
i++;
}
printf("\n");
}
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
int number;
string str;
cout << "Please enter a number:" << endl;
cin >> number;
int i = 2;
do
{
if(number%i == 0)
{
char tmp[10];
str += "*";
itoa(i, tmp, 10);
str += tmp;
number /= i;
}
else
{
++i;
}
}
while(number >= i);
string result = str.substr(1); //去掉一个"*"号
cout << result << endl;
system("pause");
return 0;
}
#include <stdio.h>
void PrintNum(int num);
int main()
{
puts("输入要分解质因数的正整数:");
int num;
scanf("%d", &num);
PrintNum(num);
return 0;
}
void PrintNum(int num)
{
printf("%d = ", num);
int dividend=2;
int tmp=0;
while ( num>dividend )
{
tmp = num%dividend;
//如果能整除,则进行处理
if ( 0==tmp )
{
num /= dividend;
printf("%d*", dividend);
dividend = 2;
}
else
++dividend;
}
printf("%d\n", num);
}
#include <stdio.h>
int main()
{
int x;
printf("请输入一个整数:");
scanf("%d",&x);
if (x==1||x==0||x==-1) //用if先把-1,0,1排除
printf("the end\n");
else
{
printf("%d=",x);
for (;x%2==0;) //循环中找出能被2整除次数,
{
x/=2;
printf("2"); //所有次数用2输出
//if (x%2!=0); //根据要求在2后面输出*或不输出就停止
if (x!=1)
printf("*");
}
}
for (;x%3==0;)//在不能完全被2整除则用3来除循环中找出能被2整除次数,
{ //循环中找出能被3整除次数,
x/=3;
printf("3");//根据要求在3后面输出*或不输出就停止
if(x!=1)
printf("*");
}
if (x==1)
printf("\n"); //这一步处理2,3都不能就输出的这个数
else
printf("%d\n",x); //若整数为负数刚会输出-1,如-36=2*2*3*3*-1
return 0;
}