| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 422 人关注过本帖
标题:输出前20个素数的c++
只看楼主 加入收藏
zhanglipeng
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
输出前20个素数的c++
急求
2011-04-12 21:11
ucyan
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:61
专家分:198
注 册:2011-4-12
收藏
得分:10 
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int a, t, leap;
    cout<< "输入一个数:" <<endl;
    cin>> a;
    for (int k = 1; k <=a ;k++)
    {
        t = sqrt(k);
        for (int i = 2; i <= t; i++)
        {
            if (k % i == 0)
            {
               leap = 0;
               break;
            }
            else
                leap = 1;
        }
        if (leap == 1)
            cout<< k << "是素数" <<endl;
        else if (leap == 0)
            cout<< k << "不是素数" <<endl;
    }
    return 0;
}
2011-04-12 22:21
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:10 
BOOL IsPrime(int n)
{
    if (n < 2) {
       return FALSE;
    }
    int nMid = n / 2; // 这个改成n的平方根也可以。
    for (int i = 2; i <= nMid; i++) {
        if (n % i == 0) {
            return FALSE;
        }
    }

    return TRUE;
}
void main()
{
    int nCount = 0;
    int nNum = 2;

   while (TRUE) {
       if (IsPrime(nNum)) {
          nCount++;
          cout<<"第"<<nCount<<"个素数:"<<nNum<<endl;
       }
       if (nCount == 20) break;      
   }   
}

没有测试过,测试工作就交给楼主你了 呵呵

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-04-12 22:25
快速回复:输出前20个素数的c++
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019237 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved