有没有像"int"或"float"这样的函数,但对于素数?

Is there a function like "int" or "float" but for prime numbers?

本文关键字:函数 于素数 int float 有没有      更新时间:2023-10-16

问题可能不清楚,我要问和搜索的是:在C++编程中,人们用命令介绍了变量的类型

  • int,表示整数
  • 布尔值
  • ,用于布尔值

等等..

我想知道是否有类似的方法来定义"素数",例如

素数 n;

因此,当他的程序调用$n$时,它将自动只取质数。

使用简单程序的应用程序:假设我想创建操作的整数部分的列表

π^n

其中 π = Pi,n = 素数。从数学上讲,这将是

地板[π^n]

不,我现在如何编写一个程序来列出一些质数,例如:

    int main () 
{
    for (int i=2; i<100; i++) 
    {
        bool prime=true;
        for (int j=2; j*j<=i; j++)
        {
            if (i % j == 0) 
            {
                prime=false;
                break;    
            }
        }   
        if(prime) cout << i << " ";
    }
    return 0;
}

但我真的不确定如何继续..我也为我表达我想做的事情的糟糕方式感到抱歉!

关于所有提到的语言标签的答案是否定的。

int 中包含素数,因为所有素数都是整数。

查找整数是否也是素数需要在函数中实现算法。

假设素数类型存在,并且你用 4 的 vulue 初始化它,这不是素数......编译器应该说一些类似类型不匹配的内容,并且不允许你运行该程序。到目前为止听起来很简单,但是当有一个非常大的数字时会发生什么。它必须应用一种算法,这意味着它不再是编译器问题。

有一些专门的语言和库。例如 Pari/Gp 它有一个很好的解释器,具有许多主要相关功能(解释器调用 C 库,所以它很快(:

例如
primes(100)

为您提供前 100 个素数的向量。甚至还有isprime的素数测试.它真的很好,很容易开始玩。当你对重代数数论感兴趣时,这也是可能的。您的示例:

P = precision(Pi, 1000)
vector(100, i, floor((P^prime(i))))

第一行创建具有足够高的幂精度的 PI,第二行创建一个列表,其中包含 floor(Pi^p( 的评估,其中 p 的范围超过前 100 个素数。

有一个程序gp2c它使用底层库将您的高级 gp 解释器脚本转换为可编译的 C 程序。当您需要更高的速度时,您可以使用它,但首先:使用 gp 解释器。

还有其他软件包,我也推荐SAGE。它是Maple和Mathematica的开源替代品。SAGE使用Python作为其脚本语言,在这里您将使用:

for p in primes_first_n(100): print p
[ floor( pi^p ) for p in primes_first_n(100) ]

您可以通过为SAGE的在线版本创建一个帐户来试用它

不,我的朋友,没有任何选择,就像你问什么一样。
但是有一些方法可以做到这一点:
首先,使用结构,联合,Typedef这些用于在c lang

中创建数据类型

否则,其次,创建一个函数prime((并添加到库中,并且每当你想要包含该头文件,然后使用该fxn
将用户定义函数添加到库中(使用 tlib.exe-TurboLibrarian(:-
Info:-in cmd- tlib math.lib + c:\prime.obj (注意:使用"-"从库中删除fxn(
如何使用:
#include<数学.h>
........................。
........................。
素数(N(
等等
等等........................。
通过这种方式,您可以非常快速地检查素数否并将其添加到数组中,然后您将拥有一个仅包含素数号的数组(与接受素数号的数据类型相同(

很酷不是吗?