#include <iostream>
using namespace std;
void pierwsze(int tabl[],int x);
int main()
{
int tabl[40];
pierwsze(tabl,40);
cout << "Liczby pierwsze z Fib(40): ";
for(int i=0;i<40;i++)
{
if(tabl[i]!=0)
{
cout << endl << tabl[i];
}
}
}
void pierwsze(int tabl[],int x)
{
tabl[0]=1;
tabl[1]=1;
for(int i=2; i<x; i++)
{
tabl[i]=tabl[i-2]+tabl[i-1];
for(int j=2; j*j<=tabl[i]; j++)
{
if(tabl[i]%j==0)
{
tabl[i]=0;
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcGllcndzemUoaW50IHRhYmxbXSxpbnQgeCk7CgppbnQgbWFpbigpCnsKICAgIGludCB0YWJsWzQwXTsKCiAgICBwaWVyd3N6ZSh0YWJsLDQwKTsKICAgIGNvdXQgPDwgIkxpY3pieSBwaWVyd3N6ZSB6IEZpYig0MCk6ICI7CiAgICBmb3IoaW50IGk9MDtpPDQwO2krKykKICAgIHsKICAgICAgICBpZih0YWJsW2ldIT0wKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCBlbmRsIDw8IHRhYmxbaV07CiAgICAgICAgfQogICAgfQoKfQp2b2lkIHBpZXJ3c3plKGludCB0YWJsW10saW50IHgpCnsKICAgIHRhYmxbMF09MTsKICAgIHRhYmxbMV09MTsKCiAgICBmb3IoaW50IGk9MjsgaTx4OyBpKyspCiAgICB7CiAgICAgICAgdGFibFtpXT10YWJsW2ktMl0rdGFibFtpLTFdOwogICAgICAgIGZvcihpbnQgaj0yOyBqKmo8PXRhYmxbaV07IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHRhYmxbaV0laj09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGFibFtpXT0wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==