Moderator: Board moderators
46337
92674
0
46337 = 46337 x 1
92674 = 2 x 46337 x 1
46337 = 46337
92674 = 2 x 46337

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int n,i,t,m,a[4800],k;
k=0;
for(i=2;i<=46342;i++)
{
t=0;
n=2;
while(n<=sqrt(i)&&t==0)
{
if(i%n==0)
t=1;
else
n++;
}
if(t==0)
{
k++;
a[k]=i;
}
}
scanf("%d",&n);
while(n!=0)
{
t=0;
printf("%d = ",n);
if(n==1)
printf("%d",n);
if(n<0)
{
printf("-1");
t=1;
n=-n;
}
i=1;
m=n;
while(n!=1&&a[i]<=sqrt(m)&&i<=4792)
{
if(n%a[i]==0)
{
n=n/a[i];
if(t!=0)
printf(" * %d",a[i]);
else
printf("%d",a[i]);
t++;
}
else
i++;
}
if(n!=1)
{
if(t==0)
printf("%d",n);
else
printf(" * %d",n);
}
printf("\n");
scanf("%d",&n);
}
system("PAUSE");
return 0;
}

#include <iostream.h>
#include <stdlib.h>
int main()
{
long long int n , x ;
long long int prime[4792] ;
int i , Cprime , k , ans ;
for( k=3 , Cprime=1 , prime[0]=2 ; k<46341 ; k+=2 )
{
for( i=0 ; prime[i]*prime[i] < k ;i++ )
if(k%prime[i]==0)
break;
if(prime[i]*prime[i]>k)
prime[Cprime++]=k;
}
while( cin >> n && !cin.eof() && n != 0 )
{
cout << n << " = " ;
ans = 0 ;
if( n < 0 )
{
cout << "-1" ;
x = 0 - n ;
ans = 1 ;
}
else
x = n ;
for( i = 0 ; prime[i]*prime[i] <= x ; i++ )
{
while( x % prime[i] == 0 )
{
x /= prime[i] ;
if( ans )
cout << " x " << prime[i] ;
else
{
cout << prime[i] ;
ans = 1 ;
}
}
}
if( x != 1 )
{
if( ans ) cout << " x " ;
cout << x ;
}
else if( ans == 0 ) cout << "1" ;
cout << endl ;
}
return 0;
}
for( i = 0 ; prime[i]*prime[i] <= x ; i++ )
{
...
} for( i = 0 ; i < Cprime && prime[i]*prime[i] <= x ; i++ )
{
...
} Users browsing this forum: No registered users and 1 guest