#include <SevSeg.h>
SevSeg sevseg;
byte numDigits=4;
byte digitPins[]={2,3,12,13};
byte segmentPins[]={7,6,5,10,11,8,9,4};
byte hardwareConfig=COMMON_CATHODE;
int num;
int delaycount=0;
//判断素数
bool prime(int n)//判断素数
{
if (n == 0 || n == 1)return 0;
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
void setup() {
sevseg.begin(hardwareConfig,numDigits,digitPins,segmentPins);
/*num=-9;
while(1)
{
delaycount++;
if(delaycount==5000)
{
delaycount=0;
num++;
}
sevseg.setNumber(num,-1);
sevseg.refreshDisplay();
if(num==0)break;
}
num=-9;
while(1)
{
delaycount++;
if(delaycount==5000)
{
delaycount=0;
num++;
}
sevseg.setNumber(num,1);
sevseg.refreshDisplay();
if(num==0)break;
}*/
num=0;
int leds[8] = {7,6,5,10,11,8,9,4};
while(1)
{
if(prime(num)){
delaycount++;
if(delaycount==5000)
{
delaycount=0;
}
sevseg.setNumber(num,-1);
sevseg.refreshDisplay();
else{
delaycount++;
if(delaycount==5000)
{
delaycount=0;
num++;
}
sevseg.setNumber(num,-1);
sevseg.refreshDisplay();
}
if(num==21)break;
}
}
void loop() {}