%{
#include < stdio. h>
#include < stdlib. h>
int is_prime( int n) {
if ( n <= 1 ) return 0 ; // Numbers less than or equal to 1 are not prime
for ( int i = 2 ; i * i <= n; i++ ) {
if ( n % i == 0) return 0; // If divisible, not a prime number
}
return 1 ; // It's prime
}
%}
%%
[0-9]+ { number = atoi(yytext); } // Capture the number entered
.|\n { } // Ignore other characters or newlines
%%
int main() {
printf("Enter a number: ");
yylex(); // Start Lex scanning
if (is_prime(number)) {
printf("%d is a prime number.\n", number);
} else {
printf("%d is not a prime number.\n", number);
}
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KaW50IG51bWJlciA9IDA7CmludCBpc19wcmltZShpbnQgbikgewogICAgaWYgKG4gPD0gMSkgcmV0dXJuIDA7ICAvLyBOdW1iZXJzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxIGFyZSBub3QgcHJpbWUKICAgIGZvciAoaW50IGkgPSAyOyBpICogaSA8PSBuOyBpKyspIHsKICAgICAgICBpZiAobiAlIGkgPT0gMCkgcmV0dXJuIDA7ICAvLyBJZiBkaXZpc2libGUsIG5vdCBhIHByaW1lIG51bWJlcgogICAgfQogICAgcmV0dXJuIDE7ICAvLyBJdCdzIHByaW1lCn0KJX0KCiUlClswLTldKyB7IG51bWJlciA9IGF0b2koeXl0ZXh0KTsgfSAgLy8gQ2FwdHVyZSB0aGUgbnVtYmVyIGVudGVyZWQKLnxcbiAgICB7IH0gICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWdub3JlIG90aGVyIGNoYXJhY3RlcnMgb3IgbmV3bGluZXMKJSUKCmludCBtYWluKCkgewogICAgcHJpbnRmKCJFbnRlciBhIG51bWJlcjogIik7CiAgICB5eWxleCgpOyAgLy8gU3RhcnQgTGV4IHNjYW5uaW5nCiAgICBpZiAoaXNfcHJpbWUobnVtYmVyKSkgewogICAgICAgIHByaW50ZigiJWQgaXMgYSBwcmltZSBudW1iZXIuXG4iLCBudW1iZXIpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIiVkIGlzIG5vdCBhIHByaW1lIG51bWJlci5cbiIsIG51bWJlcik7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=