我用C语言编写了该程序,用于测试数字是否为质数。我还不了解算法的复杂性以及所有有关Big O的知识,因此我不确定将迭代和递归相结合的方法是否比使用纯迭代方法更有效。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
typedef struct primenode{
long int key;
struct primenode * next;
}primenode;
typedef struct{
primenode * head;
primenode * tail;
primenode * curr;
unsigned long int size;
}primelist;
int isPrime(long int number, primelist * list ,long int * calls, long int * searchcalls);
primenode * primelist_insert(long int prime, primelist * list);
int primelist_search(long int searchval, primenode * searchat, long int * calls);
void primelist_destroy(primenode * destroyat);
int main(){
long int …Run Code Online (Sandbox Code Playgroud)