Almost Prime number

Problem:A no is said to be  k-Almost Prime Number if it  has exactly k prime factors (not necessary distinct). Your task is to complete the functionprintKAlmostPrimes which takes two argument k and N and prints the  first N numbers that are k prime. Problem Link /*You are required to complete this function*/ bool isPrime(int n) { bool arr[20]; int i; arr[2]=1;arr[3]=1;arr[5]=1;arr[7]=1; arr[11]=1;arr[13]=1;arr[17]=1;arr[19]=1;

11466

There should be a better approach to improve the time complexity. #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <vector> #include <cmath> #define ull unsigned long long #define ll long long using namespace std; bool prime[35000000]; vector<int> prm; int main() { double n; int mxprime,cnt; ull num; for(int i=2;i<35000000;i++) { if(prime[i]==0) { prm.push_back(i); for(int

1644

#include <iostream> #include <cstdio> #include <cmath> #include <vector> using namespace std; int n; int arr[1300000]; vector<int> v; int main() { int lo,hi,mid; for(int i=0;i<1300000;i++) { arr[i]=0; } for(int i=2;i<sqrt(1300000);i++) { if(arr[i]==0) { for(int j=i+i;j<1300000;j+=i) { arr[j]=1; } } } for(int i=2;i<1300000;i++) { if(arr[i]==0) { v.push_back(i); } } //cout<<v.size()<<"\n"; while(scanf("%d",&n),n) { if(arr[n]==0) { cout<<0<<"\n"; continue; }

12542

#include <stdio.h> #include <string.h> #include <string> #include <iostream> #include <math.h> #include <vector> #define SZ 100005 using namespace std; int prim[SZ]; vector<int> v; void primgen() { v.push_back(2); prim[2]=0; for(int i=3;i<SZ;i+=2) { if(prim[i]==0) { v.push_back(i); for(int j=i*3;j<SZ;j+=i) prim[j]=1; } } //cout<<v.size()<<"\n"; } int main() { int mult[5]; int m,max_; string s; primgen(); while(cin>>s) { if(s=="0") break; memset(mult,0,sizeof(mult));

10780

#include <iostream> #include <cstring> #include <math.h> #include <stdio.h> #include <vector> #include <fstream> #define ull unsigned long long using namespace std; int factor[10001][1230]; int factorcount[10001][1230]; int prime[10001]; vector<int> v; ull _MAX; void primegenerator() { double p=sqrt(10001); v.push_back(2); for(int i=3;i<p;i+=2) { if(prime[i]==0) for(int j=i*i;j<10001;j+=i) prime[j]=1; } for(int i=3;i<10001;i+=2) { if(prime[i]==0) v.push_back(i); } } void factorize() { for(int

10394

#include <iostream> #include <string> #include <vector> #include <math.h> #define SZ 20000001 using namespace std; int prime[SZ]; vector<int> v; struct twin{ int x; int y; }twinPrime[108001]; void primegen() { double p = sqrt(SZ); for(int i=3;i<p;i+=2) { if(prime[i]==0) { for(int j=i*i;j<SZ;j+=i) prime[j]=1; } } v.push_back(2); int cnt=0; for(int i=3;i<SZ;i+=2) { if(prime[i]==0) { v.push_back(i); int t=v.size(); if(v[t-1]-v[t-2]==2) {

11347

#include <iostream> #include <cstring> #include <math.h> #include <stdio.h> #include <vector> #define ull unsigned long long #define max(a,b) a>=b?a:b using namespace std; int ans[200]; int prime[1001]; vector<int> v; ull _MAX; void primegenerator() { double p=sqrt(1001); v.push_back(2); for(int i=3;i<p;i+=2) { if(prime[i]==0) for(int j=i*2;j<1001;j+=i) prime[j]=1; } for(int i=3;i<1001;i+=2) { if(prime[i]==0) v.push_back(i); } } int main() { string s;

11415

#include <iostream> #include <math.h> #include <vector> #define ull unsigned long long #define SIZE 2703664 using namespace std; int prime[1700];//3200 ull factor[SIZE]; int arr[10000001]; vector<int> v; void primeGenerator() { double p = sqrt(1700); for(int i=3;i<p;i+=2) { if(prime[i]==0) { for(int j=i+i;j<1700;j+=i) prime[j]=1; } } v.push_back(2); for(int i=3;i<1700;i+=2) { if(prime[i]==0) v.push_back(i); } } void countfactor() { int tmp;

10856

#include <iostream> #include <string> #include <stdio.h> #include <math.h> #include <vector> #include <stdlib.h> #define SIZE 2800001 #define ull unsigned long long using namespace std; int prime[1700]; ull arr [SIZE];//[10000001+5]; vector<int> v; void primeGenerator() { double p = sqrt(1700); for(int i=3;i<p;i+=2) { for(int j=i+i;j<1700;j+=i) { prime[j]=1; } } v.push_back(2); for(int i=3;i<1700;i++) { if(prime[i]==0 && i%2!=0) { v.push_back(i);

10139

#include <iostream> #include <math.h> #include <vector> #include <map> #include <sstream> #include <fstream> #define SIZE 46500 #define lld long long using namespace std; // sqrt of 2^31 is ~46400 vector<int> v; int prime[SIZE]; void PrimeGenerate() { double p = sqrt(SIZE)+4; for(int i=3;i<p;i+=2) { if(prime[i]==0) { for(int j=i+i;j<SIZE;j+=i) prime[j]=1; } } v.clear(); v.push_back(2); for(int j=3;j<SIZE;j++) { if(prime[j]==0