gpt4 book ai didi

c++ - 反转 for 循环...想要反向打印数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:14:28 24 4
gpt4 key购买 nike

我如何更改此循环以反向打印素数...从最大的开始

int main(){

bool prime;
for( int i=3; i<=10000; i++){
prime = true;
for(int n=2; n<=i-1; n++){
if( i%n == 0){
prime = false;
}
}
if(prime){
cout << i << " ";
}
}
return 0;

}

最佳答案

您可以按如下方式反转 for 循环:

for( int i=10000; i>=3; i--) {

话虽这么说 - 你也可以简化它。您只需要检查直到达到数字的平方根。还要确保,当你发现一个数字不是质数时,你会立即爆发:

int main() {

bool prime;
for( int i=10000; i>=3; i--) {
prime = true;
int max = sqrt(i)+1; // Don't check beyond this...
for(int n=2; n<=max; n++)
{
if( i%n == 0){
prime = false;
break; // This prevents you from continually checking!
}
}
if(prime){
cout << i << " ";
}
}
return 0;
}

关于c++ - 反转 for 循环...想要反向打印数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2739251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com