来自加泰琳·弗兰库生成A005228的C++源代码。以(大约)O(n+sqrt(n)+sqrt(n))+squart(sqrt生成前n个元素。测试最大n=1000000000。输入为n,输出为a(n)。需要准常量内存。%o A005228#包括typedef unsigned long long uint64;typedef结构{uint64值;uint64公司;}配对;对系列[100];无效init_all_series(){对initial_pair={7,5};//预生成前三项对于(int i=0;i<99;系列[i++]=initial_pair);}空隙生成(int k);内联布尔测试(int k,unsigned number){开关(编号){情况1:情况3:情况7:返回1;案例2:案例4:案例5:案例6:返回0;违约:而(级数[k].value<number)生成(k);return(序列[k].value==数字);}}内联void生成(int k){系列[k].value+=系列[k].inc;if(测试(k+1,++系列[k].inc))系列[k]。inc++;}int main(无效){整数x;初始化所有系列();扫描(“%d”,&x);//输入索引开关(x){案例1:看跌期权(“1”);断裂;案例2:看跌期权(“3”);断裂;违约:对于(int k=4;k<=x;k++)生成(0);打印(“%llu“,series[0].value);//打印第x个术语}返回0;}