DevC++ - błąd kompilacji w pętli if

Otóż miałem do napisania program: "Dany jest ciąg n kolejnych liczb naturalnych 1, 2, 3, …, n. Oblicz liczbę elementów tego ciągu, spełniających następujące warunki:

a) są liczbami nieparzystymi, podzielnymi przez 3 i niepodzielnymi przez 5;

b) są kwadratami liczb naturalnych;

c) są kwadratami liczb parzystych;

Chciałbym na razie skupić się na a), kod wygląda wg mnie następujące, ale wywala błąd przy kompilacji (wiersz 12 -if(n%21=0 && n%3==0 && n%5!=0), co robię tu źle? ). Nieparzystość mam, podzielność przez 3 mam, niepodzielność przez 5 mam.

#include 

#include 

#include 

using namespace std;

int n, a=0;

int main()

{

    cout<<"podaj n"<
    cin>>n;

    while(n>=1)

    {

               if(n%2!=0 && n%3==0 && n%5!=0)

               {

                              a++;

               }

               n--;

               }

               char z;

               cin>>z;

    getch();

    return EXIT_SUCCESS;

}

Czytelniej byłoby z użyciem for.

Operator równości to ==, a nierówności != - wbić sobie do głowy.

W takim razie jak powinna wyglądać pętla z for?

Bo z while już sobie poradziłem:

#include 

#include 

#include 

using namespace std;

int n, a=0;

int main()

{

    cout<<"Podaj n :"<
    cin>>n;

    while(n>=1)

    {

               if(n%2!=0 && n%3==0 && n%5!=0)

               {

                              a++;

               }

               n--;

               }

    cout<<"\n\nElementow takich jest "<
    getch();

    return EXIT_SUCCESS;

}

[/code]

Nie wiem czy czytelniej byłoby z forem. To by wyglądało mniej-więcej tak:

int n = 0;

cin >> n;

for(; n >= 1; --n)

{

   //KOD

}