Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int primes[10000000];
- int pf[10000000];
- void calcPrimes(int n){
- int index=0;
- primes[1]=1;
- primes[0]=1;
- int i=2,j=0,lastind=0;
- for(i=2;i*i<=n;i++){
- if(primes[i]==0){
- for(j=i*i;j<n;j+=i){
- primes[j]=i;
- }
- primes[i]=i;
- lastind=i;
- }
- }
- for(i=lastind+1;i<=n;i++)
- if(primes[i]==0)
- primes[i]=i;
- }
- void printfactors(int n){
- int temp[n];
- int index=0;
- while(n>1){
- temp[index++]=primes[n];
- n/=primes[n];
- }
- int i;
- for(i=index-1;i>0;i--){
- printf("%d x ",temp[i]);
- }
- printf("%d\n",temp[0]);
- }
- main(){
- int number;
- calcPrimes(10000000);
- while(1){
- scanf("%d",&number);
- if(number==0) return 0;
- else if(number > 0) {
- printf("%d = ",number);
- printfactors(number);
- }else {
- printf("%d = -1 x ",number);
- number *=-1;
- printfactors(number);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement