首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

生趣的数

2012-08-17 
趣味的数趣味的数(1)素数素数的定义:只能被1和自己本身整除的数叫素数。那么应该如何判断一个数n(n为正整数

趣味的数

    趣味的数

(1)  素数

素数的定义:只能被1和自己本身整除的数叫素数。那么应该如何判断一个数n(n为正整数)是否为素数呢?

一, 定义法


既然只能被被自己和本身整除那么我们就用枚举,让数n除以2到n-1若有一次可以被整除,显然违反了素数的定义。反之则为素数。代码实现如下:

#include<iostream>using namespace std;const int N = 100;//求a,b的最大公约数int gcd(int a, int b){     if(b == 0)     {         returna;     }     returngcd(b, a%b);}int main(){     inta[N];     inti =0,j = 0;     intm,n;     cin>>m;     while(i<m)     {         cin>>n;         j= 0;         while(j<n)         {              cin>>a[j];              ++j;         }          int gc = gcd(a[0],a[1]);         j= 2;         while(j<n)         {              gc= gcd(gc, a[j]);              ++j;         }         cout<<gc<<endl;         ++i;     }     return0;}


当然问题也就来,你觉得上面的方法可以优化吗?或者你有更好的想法????

参考书目《算法导论》

热点排行