SRM388 div2 hard

数学。写した。

#include <vector>
#include <algorithm>
#include <list>

using namespace std;

class SmoothNumbersHard
{
	public:
	
		int countSmoothNumbers(int n, int k)
		{
			vector<int> p(n+1,0);
			for(int i=2;i<=n;i++)
				if(!p[i])
					for(int j=i;j<=n;j+=i)
						p[j]=i;
			
			int ans=0;
			for(int i=1;i<=n;i++)
				if(p[i]<=k)
					ans++;
			return ans;
		}
};