精华内容
下载资源
问答
  • 这是本人写的关于如何用编写100-999的程序
  • 最近无聊,写了一个基于C++模板的求前n个质数程序。 编译速度极其之慢。。 不过运行速度相当可以。   恩。如果C++的模板再多一点关键字的话,就可以看做是Lisp语言了。。   不过话说回来,引用一下老刘的...

    最近无聊,写了一个基于C++模板的求前n个质数的程序。

    编译速度极其之慢。。

    不过运行速度相当可以。

     

    恩。如果C++的模板再多一点关键字的话,就可以看做是Lisp语言了。。

     

    不过话说回来,引用一下老刘的话:

    marchliu 写道
    C++模板语法只差一步,只要加入类似Lisp关键字的一些东西,就可以让模板方便的控制编译过程了。
    但是,在这之前,C++就已经太笨重了。
    C++已经到了悬崖边上了,现在委员会决定再向前迈一步……

     

    下面贴上代码做备忘:

     

    #include <iostream>
    template <int p, int i>
    struct is_prime{
        enum {
            result = (p == 2) || (p % i) && is_prime<(i>2?p:0), i-1>::result
        };
    };
    
    template <>
    struct is_prime<0, 0>{
        enum {
            result = 1
        };
    };
    
    template <>
    struct is_prime<0, 1>{
        enum {
            result = 1
        };
    };
    
    template <>
    struct is_prime<1, 0>{
        enum {
            result = 0
        };
    };
    
    
    template <int, int> struct If;
    template <int> struct next_prime;
    
    template <int i>
    struct If<1, i>{
        enum {
            result = i
        };
    };
    
    template <int i>
    struct If<0, i>{
        enum {
            result = next_prime<i>::result
        };
    };
    
    template <int i>
    struct next_prime{
        enum {
            result = If<is_prime<i + 1, i>::result, i + 1>::result
        };
    };
    
    template <int i, int j>
    struct loop{
        enum {
            result = loop<i - 1, next_prime<j>::result>::result + next_prime<j>::result
        };
    };
    
    template <>
    struct loop<0, 2>{
        enum {
            result = 2
        };
    };
    
    template <int sum, int prime, int i>
    struct num_of{
        enum {
            result = num_of<sum + next_prime<prime>::result, next_prime<prime>::result, i - 1>::result
        };
    };
    
    template <int sum, int prime>
    struct num_of<sum, prime, 0>{
        enum {
            result = sum
        };
    };
    
    int main(){
        //std::cout << loop<10000>::result << std::endl;
        //std::cout << next_prime<3>::result << std::endl;
        std::cout << num_of<0, 0, 5>::result << std::endl;
        return 0;
    }
    
     还是很晦涩啊。。
    展开全文
  • 得分:10 # include# include# include# includeusing namespace std;int main(){vector m;m.push_back(2);m.push_back(3);m.push_back(5);m.push_back(7);cout<cout<cout<cout<long int n=2;...

    得分:10

    ca56232b3bbedf9a539d07f37fffb99a.gif

    3144d8b7615c79d9f638db40d5689d26.gif

    a218af6549b45ee526caf607ebff1358.gif

    0f8df0e29816ae721419de940fb833d1.gif

    # include

    # include

    # include

    # include

    using namespace std;

    int main()

    {

    vector m;

    m.push_back(2);

    m.push_back(3);

    m.push_back(5);

    m.push_back(7);

    cout<

    cout<

    cout<

    cout<

    long int n=2;

    long int p=1;

    long int e=INT_MAX;

    int piaoshi=0;

    long int a=0;

    for(;a<200000;p++)

    {

    piaoshi=0;

    //cout<

    a=p*10+1;

    long int b=sqrt(a);

    if(m[n]<=b)

    n++;

    for(int c=0;c

    {

    long int x;

    long int y;

    y=m[c];

    x=a%y;

    if(x==0)

    {

    piaoshi=1;

    break;

    }

    }

    if(piaoshi==0)

    {

    m.push_back(a);

    cout<

    //piaoshi=1;

    }

    else

    piaoshi=0;

    a=p*10+3;

    b=sqrt(a);

    if(m[n]<=b)

    n++;

    for(int cc=0;cc

    {

    long int x;

    long int y;

    y=m[cc];

    x=a%y;

    if(x==0)

    {

    piaoshi=1;

    break;

    }

    }

    if(piaoshi==0)

    {

    m.push_back(a);

    cout<

    展开全文
  • c++编写一个判断质数程序

    千次阅读 2020-02-28 22:09:43
    #include using namespace std; int pnumber(int x);...“请输入要计算质数的数值:”; cin>>n; if(pnumber(n)==1) cout<<n<<“是质数”<<endl; else cout<<n<<“不是...

    #include
    using namespace std;
    int pnumber(int x);
    int main()
    {
    int n;
    cout<<“请输入要计算质数的数值:”;
    cin>>n;
    if(pnumber(n)==1)
    cout<<n<<“是质数”<<endl;
    else
    cout<<n<<“不是质数”<<endl;

    return 0;
    }
    int pnumber(int x)
    {
    int i;
    if(x<=0)
    return 0;
    if(x=1)
    return 1;
    for(i=2;i<x;i++)
    {
    if(x%i==0)
    return 0;
    else
    return 1;

    }

    }

    展开全文
  • 随机产生大素数C++程序

    热门讨论 2009-09-16 16:59:45
    随机产生大素数C++程序,以时间作为随机数种子,生成大素数
  • cout在"+ a + "~" + b + "之间的素数有:/n"; fun(a,b); } void fun(int x, int y) { int i , j , k ; for(i = x ; i ; i++) { bool b = true; for(j = 2 ; j ; j++) { k = i % j; if(k==0)...
    #include
    using namespace std;
    int main()
    { cout<<"******************************************/n请输入你要筛选的区间: ";
    cout<<endl;
    void fun (int, int );
    int a , b ;
    cin>>a>>b;
    cout<<"在"+ a + "~" + b + "之间的素数有:/n";
    fun(a,b);
    }
    void fun(int x, int y)
    {
    int i , j , k ;
    for(i = x ; i < y ; i++)
    {
    bool b = true;
    for(j = 2 ; j < i ; j++)
    {
    k = i % j;
    if(k==0) b = false ;
    }
    if(b)cout<< i <<"\t";
    }
    }

    转载于:https://www.cnblogs.com/whieenz/p/5247174.html

    展开全文
  • 使用vim编写C/C++程序

    2020-10-28 23:02:48
    一、准备工作 1.安装vim(已安装则忽略) sudo apt-get install vim 2.安装C的编译器gcc和C++的编译器g++(已安装则忽略) ...3.进入vim编辑程序(以求质数为例,Prime.cpp是代码文件名) vim Prim
  • c++程序设计基础(第五版)(上) 习题与解答

    万次阅读 多人点赞 2019-09-09 20:06:44
    C++程序设计基础(第5版)(上) 习题与解答 第1章练习题 同步练习1.1 一、选择题 1.一个最简单的C++程序,可以只有一个( )。 (A)库函数 (B)自定义函数 (C)main函数 (D)空函数 2.函数名是( ),用于...
  • c++ 编写一个函数,找质数 ```cpp #include<iostream.h> int zhishu(int m) { for(int i=2;i<m;i++) { if(m%i==0) {cout<<"no"<<endl; return 0; } else break; }cout<&...
  • 素数又称质数。指一个大于1的自然数,除了1和此整数自身外,不能被其他自然数整除的数。我们定义:如果一个素数是完美的素数,当且仅当它的每一位数字之和也是一个素数。现在给你一个正整数,你需要写个程序判断一下...
  • #include using namespace std; int prime(int n) { if(n>1) { int i=n-1; while(n%i!=0) { i--; } ...cout是质数";...cout不是质数"; } return 0; }
  • 作为一个初学者,刚接触到伪代码时,可能也会苦恼如何将其编写C++程序。以判断素数的IsPrime算法为例,给出相应的解决办法。首先来看伪代码:bool IsPrime(int n) { int limit; if ( n &lt;= 1 ) return ...
  • 编写这一道程序的时候没想很多,打开编译器直接敲代码,一直敲一直敲,想到哪里就敲到哪里,然后一直Debug,后来我才发现我犯了一个很严重的错误,就是知道一道题问什么,却不知道如何设计这道简单的程序题。...
  •  质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它自身外,不能被其他自然数整除的数称为质数。否则称为合数  合数(Composite number),指自然数中除了能被1和本身整除外,还能...
  • C++简单输出钻石菱形图效果本文实例讲述了C++简单输出钻石菱形图效果的方法。分享给大家供大家参考,具体如下:/** 作 者: 刘同宾* 完成日期:2012 年 11 月 25 日* 版 本 号:v1.0* 输入描述:* 问题描述: 设计和...
  • Android Studio 3.0 编写素数查询小程序,适合新手教学,很简易!
  • 求100内的质数,用c++编写 比较容易看明白 请多多指教
  • c++程序设计》课程设计报告 班级:数学四班 学号:2018212767__ 报告人姓名:张子琪__________ 实验地点:东校教学楼N409____________________ 完成起止日期:2019.1.2-2019.1.5________ 课设二 Problem ...
  • 标题编写一个程序,实现调用被继承的基类成员函数,实现求素数的功能 #include<iostream> using namespace std; class prime { public: prime(int p); int pri_function(int j); private: int x; }; ...
  • 功能:对输入的整数k输出它的全部素数因子 例如:当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:126=233*7 #include <iostream> using namespace std; int f(int k) { int i=2; cout<<k<...
  • C++程序例子

    千次阅读 2011-11-28 08:27:13
    程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。  2.程序源...
  • 编写程序,检查用户从键盘输入的整数是否为素数,并输出对应提示语句。
  • C++程序设计总结

    2019-01-05 22:01:31
    c++程序设计》课程设计报告 班级:数学四班__ 学号:2018212720___ 报告人姓名:柳思思 实验地点:山东农业大学东校区教学楼414 完成起止日期: 2019.1.1-2019.1.3___ 1.&nbsp;ProblemA 1.&...
  • 编写程序验证哥德巴赫猜想: 一个不小于6的偶数可以表示为两个素数之和,如6=3+3, 8=3+5, 10=3+7,… 要求: (1)子函数prime函数,prime函数的作用是判别一个数是否为素数,返回一个整数(0表示非素数,1表示素数) ...
  • 1.编写一个判断素数的函数,在主函数中由键盘输入整数的范围,并给出在该范围内的所有素数。 #include<iostream> using namespace std; void fun(int a,int b); int main() { int a=0,b=0; cout<&l
  • 食油大学C++部分题解 hi,我是敲了两个月代码,有备而来的蒟蒻俊德 为了水一水文章 咳咳,为了咱班同学C++提升,我把题库里面我认为有难度的题写成题解,希望大佬们轻喷(逃 例题和前面的拓展都很简单,同学们可以...
  • 语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类: 声明语句 指示编译器分配内存,或者提供程序连接信息 ...本章讨论C++的选择结构语句和循环结构语句及其应用。 2.1 选择控制 2.1.1 if...
  • C++程序设计上机实践及学习辅导》实验报告 额…本人某普通一本大一新生,刚接触C++,学期末作业是这本书的实验报告,其中有十几个实验内容,这是我们新生第一学期的课,所以内容也很基础。但我也是新接触,外加C++...
  • C++是如何计算sin(x)的呢?其实使用泰勒展开来算的。下面不直接调用sin(x)来写一下程序程序 #include <iostream> using namespace std; constexpr double pi = 3.1415926535897932384625; double ret = 1...
  • 1. 编写C++程序一般需经过的几个步骤依次是() A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 答案:B 解析:(P21)经过编辑、编译、连接和运行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,508
精华内容 2,603
关键字:

素数c++程序编写

c++ 订阅