o(∩_∩)o 哈哈
路过[ 本帖最后由 孤单旋律 于 2010-11-4 14:08 编辑 ]
#include "stdafx.h" #include "math.h" #define for if(0){}else for int g_count = 0; int g_sum = 0; int main(int argc, char* argv[]) { int nFunPrime(int , int); nFunPrime(1, 100); //修改开始元素 m n printf("\r\n一共有%d 素数\r\n", g_count); printf("素数的和为 : %d \r\n", g_sum); return 0; } int nFunPrime(int PrimeStart, int PrimeEnd) { int PrimeNumber; int ntime = 3; for (PrimeNumber = PrimeStart; PrimeNumber <= PrimeEnd; PrimeNumber++) { if (PrimeNumber == 1 || PrimeNumber == 2 || PrimeNumber == 3)//特殊情况 { g_count++; //我定义的全局来接受个数 g_sum += PrimeNumber; //素数累加和 printf("%-3d", PrimeNumber); continue; } for (int i = 2; i <= (int)sqrt(PrimeNumber); i++) { if (PrimeNumber % i == 0) { break; } if (i >= (int)sqrt(PrimeNumber)) { g_count++; //我定义的全局来接受个数 g_sum += PrimeNumber; //素数累加和 printf("%-3d", PrimeNumber); ntime++; if (ntime % 10 ==0) { printf("\r\n"); } } } } return 0; }我刚写的,应该可以.