➤ Problem Link : 26A. Almost Prime
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int arr[n+1]; int i,j; for(i=0;i<=n;i++) arr[i]=i; for(i=2;i*i<=n;i++) { if(arr[i]==i) { for(j=i*i;j<=n;j+=i) { if(arr[j]==j) arr[j]=i; } } } int cnt=0; for(i=1;i<=n;i++) { set<int>s; int j=i; while(j!=1) { s.insert(arr[j]); j/=arr[j]; } if(s.size()==2) cnt++; } cout<<cnt; return 0; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!