总结两点:
1、注意内存分配中int是占4个字节,不能分配多少个int就直接写多少个,而要乘以int的长度大小,因为它(malloc)分配的是字节数;
2、能省则省,一开始我把isNotPrime声明为int,这样到99999999内存就太大了分配不了,后来改成char,至少节约3/4内存,可以测试更大的数;
完整代码如下,算法是网上看别人的算法:
稍微修改了下算法,在我的电脑上至少可以计算这么大的范围了:
总结两点:
1、注意内存分配中int是占4个字节,不能分配多少个int就直接写多少个,而要乘以int的长度大小,因为它(malloc)分配的是字节数;
2、能省则省,一开始我把isNotPrime声明为int,这样到99999999内存就太大了分配不了,后来改成char,至少节约3/4内存,可以测试更大的数;
完整代码如下,算法是网上看别人的算法:
稍微修改了下算法,在我的电脑上至少可以计算这么大的范围了: