分配内存(2^30)大=100 000s=0S=设置([])看不见=1seen(v)=if(v<big,bit test(s,v),set search(s,v))参见(v)=如果(v<大,s=位或(s,2^v),s=集合并集(s,集合([v]));while(可见(不可见),不可见++)发现(c)={my(f=系数(c));如果(numdiv(f)<2^16,fordiv(f,d,如果(!可见(d),参见(d);回报(d);)),for(v=看不见,oo,如果(c%v==0&!看到(v),参见(v);回报(v);)));}对于(n=1,10 000,打印(n“”find(fibonacci(n+1)))退出