1.The following is a c code on "prime factors of a number". Any suggestions to optimize the code? It runs for a pretty long time for inputs like 35068499. And i also want the code to take 10 digit numbers as input.
#include<stdio.h> long n; void pf(); void main() { printf("Enter a number: "); scanf("%ld",&n); pf(n); } void pf() { long i,x; while(1) { if(n%2==0) { printf("2\n"); n=n/2; } else break; } x=3; while(x<=n) { for(i=2;i<x;i++) { if(x%i==0) { goto abc; } } while(1) { if(n%x==0) { printf("%ld\n",x); n=n/x; } else break; } abc: x=x+2; } }
It runs for a pretty long time for inputs like 35068499. And i also want the code to take 10 digit numbers as input.