// strfile.cpp -- read strings from a file
#include "stdio.h"
void main()
{
int a=256;//要分解的数
printf("%d=",a);
for(int i=2;;i++)
{
if(a%i==0)
{
if(a/i==1)
{
printf("%d",i);
printf("\n");
return;
}
else
{
a=a/i;
printf("%d*",i);
i=i-1;
}
}
}
}
#include
void main()
{
int i,j,n,p[200],t;
scanf("%d",&n);
t=n;
for(j=0;;j++)
{
for(i=2;i<=n;i++)
if(n%i==0)
{
p[j]=i;
n=n/i;
i=2;
break;
}
if(n==1)break;
}
printf("%d=",t);
for(i=0;i<=j;i++)
printf("%d*",p[i]);
printf("\b");
}
#include
#include
int IsPrimeNum(int n){
int i;
if(n<2)
return -1;
else{
for(i=2;i<=sqrt(n);i++){
if(n%i==0)
return -1;
}
}
return 0;
}
int main(){
int n,i;
printf("Please input the number: ");
scanf("%d",&n);
printf("%d=",n);
for(i=2;;i++){
if(IsPrimeNum(n)==0){
printf("%d\n",n);
break;
}
if(n%i==0){
if(IsPrimeNum(i)==0)
printf("%d*",i);
n=n/i;
i=2;
}
}
return 0;
}
hanwt139的回答很强悍,学习了
#include
void main()
{
int prime[200];
int amount[200];
int n,m;
int i,j;
prime[0] = 2;
amount[0] = 0;
printf("输入一个正整数\n");
scanf("%d",&n);
m = n;
if (m==1)
{
printf("1=1");
return;
}
for (i=0; n>1; i++)
{
while (n%prime[i]!=0)
prime[i]++;
for (amount[i] = 0; n%prime[i]==0; n/=prime[i])
amount[i]++;
prime[i+1] = prime[i] + 1;
}
i--;
printf("%d=",m);
printf("%d",prime[0]);
amount[0]--;
for (j=0; j<=i; j++)
{
while (amount[j]>0)
{
printf("*%d",prime[j]);
amount[j]--;
}
}
printf("\n");
}
#include "stdio.h"
main()
{
int n,i,m;
scanf("%d",&n);
m=n;
printf("%d=",n);
for(i=2; i
while(m%i==0)
{
m=m/i;
printf("%d*",i);
}
}
printf("\b ");/*去掉最后一个*号*/
getch();
}
只能从2以上才行,1不行。:(
给10分少了点,加点分吧~