c++语言while语句如何添加素数2

有个题目是这样的:输出1000以内所有素数(素数定义:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数或者质数)

我写的代码是这样的:
#include
#include
#include <math.h>

using namespace std;
int main(void)
{
int count = 0;
int num1 = 2;
int num2 = 2;

while (num1<=1000)
{
    bool su = false;
    num2 = 2;
    while(num2 < num1)
    {
        if(num1 % num2 != 0)
        {
            su = true;
        }else{
            su = false;
            break;
        }
        
        num2 += 1;
    }
    if (su == true)
    {
        count += 1;
        cout << num1 << "   ";
    }
    num1 += 1;  
}
cout << count << endl;

}

运行结果少个一个2,如何在此基础上,把素数2放进去,规定只能用while语句哦

有注释的是修改的地方

int main(void)
{
    int count = 0;
    int num1 = 2;
    int num2 = 2;

    while (num1 <= 1000)
    {
        bool su = true; //
        num2 = 2;
        while (num2 < num1)
        {
            if (num1 % num2 == 0) //
            {
                su = false;
                break;
            }

            num2 += 1;
        }
        if (su || num1 == 2) ///
        {
            count += 1;
            cout << num1 << "   ";
        }
        num1 += 1;
    }
    cout << '\n' << count << endl; ///

    return 0;
}

count初值为1,即可