Questo penso sia un errore di digitazione:
cout<<<<a<<endl;
Questo non capisco che senso abbia:
if (a>1 && a==1)
se
a è maggiore di 1, non può essere uguale a 1... Quindi quell'espressione è sempre falsa.
PS: a ma non va in loop, conta da 1 a N, stampa i numeri (tutti) ed esce.
PPS: ovviamente, NON trova i numeri primi, e sul perché dovresti ragionarci un atttimo.