📜  Lex程序检查数字是否为素数

📅  最后修改于: 2021-06-28 06:45:34             🧑  作者: Mango

问题:编写一个Lex程序以检查数字是否为质数。

解释:
Lex是一个生成词法分析器的计算机程序,由Mike Lesk和Eric Schmidt编写。 Lex读取指定词法分析器的输入流,并输出以C编程语言实现词法分析器的源代码。

定义:质数是大于1的整数,其唯一因子是1及其本身。一个因数是一个整数,可以将其平均分为另一个数。前几个素数是:2、3、5、7、11、13、17、19、23和29。

例子:

Input: 2 
Output: Prime number

Input: 6
Output: Not a Prime number 

执行:

/* Lex Program to check whether a number is Prime or Not */
  
%{
   /* Definition section */
   #include
   #include
   int flag,c,j;
%}
  
/* Rule Section */
%%
[0-9]+ {c=atoi(yytext);
         if(c==2)
         {
           printf("\n Prime number");
         }
         else if(c==0 || c==1)
         {
           printf("\n Not a Prime number");
         }
         else
         {
           for(j=2;j

输出: