#include <iostream>
#include <cmath>
#include <Windows.h>
#include <algorithm>
using namespace std;
//普通做法
void print(int n)
{
int count = 0;
for (int i = 2; i <= n; i++)
{
for (int j = 2; j < i; j++)
{
count++;
if (i % j == 0)
goto label;
}
cout << i <<" " ;
label:continue;
}
cout << endl;
cout << "循环次数:" << count << endl;
}
/*
//埃拉托斯特尼筛法求素数
void print(int n)
{
int len = sqrt(n),sum=0,count=0;
int *a = (int*)malloc(n * sizeof(int));//开辟数组
//找出根号n内的素数,然后输出
for(int i = 2; i <= len; i++)
{
for (int j = 2; j < i; j++)
{
count++;
if (i % j == 0)
goto label;
}
a[sum++] = i;
//cout << i <<" ";
label:continue;
}
for (int i = len + 1; i < n; i++)
{
for (int j = 0; j < sum; j++)
{
count++;
if (i % a[j] == 0)
goto fun;
}
//cout << i <<" ";
fun:continue;
}
cout << endl;
cout << "循环次数:" << count << endl;
}
*/
int main()
{
int n;
cin >> n;
SYSTEMTIME t;
GetLocalTime(&t);
cout << t.wSecond << "秒" << t.wMilliseconds << "毫秒" << endl;
print(n);
GetLocalTime(&t);
cout << t.wSecond << "秒" << t.wMilliseconds << "毫秒" << endl;
return 0;
}