问题可能不清楚,我要求和搜索的是:在C ++编程中,用命令引入变量类型
依旧......
我想知道是否有类似的方式来定义像
这样的“素数”素数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;
}
但我不确定如何继续......我也很抱歉表达我想做的事情!
答案 0 :(得分:1)
关于所有提到的语言标签的答案是否。
Primes包含在int中,因为所有素数都是整数。
查找整数是否也是素数需要在函数中实现算法。
假设存在素数类型,并且使用4不是素数来初始化它...编译器应该说类似不匹配的东西,不允许你运行程序。 到目前为止听起来很简单但是当有一个非常大的数字时会发生什么。它必须应用一种算法,这意味着它不再是编译器问题。
答案 1 :(得分:0)
有一些专门的语言和库。例如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 Interpreter。
还有其他套餐,我也建议SAGE。它是Maple和Mathematica的开源替代品。 SAGE使用Python作为脚本语言,您可以在这里使用:
for p in primes_first_n(100): print p
[ floor( pi^p ) for p in primes_first_n(100) ]
您可以通过为online version of SAGE
创建帐户来试用它答案 2 :(得分:-1)
不是我的朋友,没有任何选择,比如你问的任何事情
但有一些方法:
首先,使用Structure,Union,Typedef这些用于在c lang
或者,其次,创建一个函数prime()并添加到库中,并且只要你想要包含那个头文件然后使用那个fxn
将用户定义函数添加到库中(使用tlib.exe-TurboLibrarian): -
信息:-in cmd-tlib math.lib + c:\ prime.obj(注意:使用&#39; - &#39;从库中删除fxn)
使用方法:
#包括&LT;文件math.h&GT;
........................
........................
prime(n)
blah blah blah
........................
通过这种方式你可以很快检查素数并将它们添加到数组中,然后你将得到一个只包含素数的数组(与数据类型接受素数相同)
COOL NO?