- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个程序,我必须打印出 1 到 239 之间的素数,包括 1 和 239(我知道一和二可能不是素数,但我们会认为它们是素数这个程序)它一定是一个非常简单的程序,因为我们只讨论了一些基础知识。到目前为止,我的代码是这样的,这对我来说似乎是不错的逻辑流程,但不会产生输出。
#include <iostream>
using namespace std;
int main()
{
int x;
int n = 1;
int y = 1;
int i = 0;
while (n<=239)
{x = n % y;
if (x = 0)
i++;
if (y < n)
y++;
n++;
while (i == 2)
cout << n;
}
return 0;
}
我希望它的工作方式是取 n,只要 n 为 239 或更小,然后用从 1 到 n 的每个数字进行预制模除法。每当一个数字 y 均匀地进入 n 时,计数器就会增加 1。如果计数器等于 2,那么这个数字就是素数,我们将它打印到屏幕上。任何帮助将不胜感激。谢谢
最佳答案
std::cout << std::to_string(2) << std::endl;
for (unsigned int i = 3; i<240; i += 2) {
unsigned int j = 3;
int sq = sqrt(i);
for (; j <= sq; j += 2) if (!(i%j)) break;
if (j>sq) std::cout << std::to_string(i) << std::endl;
}
首先,素数定义:素数(或质数)是大于1的自然数,除1和它本身外没有正约数。
因此您可以跳过所有偶数(因此... i+=2)。此外,尝试对大于 sqrt(i) 的数进行除法是没有意义的,因为这样它将有一个小于 sqrt(i) 的除数,并且代码会找到它并移动到下一个数字。仅考虑奇数,意味着我们可以跳过偶数作为除数(因此 ... j+=2)。
在您的代码中显然存在初学者错误,例如 (x = 0) 而不是 x==0。但逻辑也不令人信服。我同意@NathanOliver 的观点,您需要学习使用调试器来查找所有错误。至于其他的,祝你学业顺利。
关于c++ - 基本嵌套循环计算 1 - 239(含)之间的素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176155/
private boolean validateSno(double inSno) { //sno is the serial number int firstThree=(int)inSno
这个问题已经有答案了: How can I determine if a date is between two dates in Java? [duplicate] (11 个回答) 已关闭 6 年
我目前正在通过一本名为 Alex Allain - Jumping into c++ 的书学习 C++,但我卡在了第 21 章。它详细介绍了 C++ 构建过程,我明白了,除了 2 个部分: 首先: “
我有以下 Oracle 查询 SELECT * FROM table WHERE date_opened BETWEEN ((TO_DATE('2011-08-01', 'yyyy-mm-dd') -
use rand::Rng; fn main() { let mut zz = rand::thread_rng(); let mut a: [i32; 4096] = [0; 409
我正在使用 flatPickr(日历插件)来完成此任务。我将 minDate 和 maxDate(始终是星期日)从 PHP 函数发送到 JavaScript: $("#weeklySelector")
从 Eclipse 运行时,以下代码可以正常工作: System.setProperty("webdriver.gecko.driver", pathToGeckoDriver); FirefoxOp
我正在编写一个 Iphone 应用程序并使用 sqlite 作为我的数据库。如果对象在某个范围(MIN 和 MAX)之间,我有折扣,但问题是当我查询时,折扣似乎也适用于超出该范围的对象。不确定如何正确
Brunch 几乎适用于所有模板语言,并且有适用于它们的插件,但我无法使用 vanilla HTML。我只是希望在每次构建早午餐时只复制我的 html 文件(无论它们位于何处)并粘贴到公共(publi
首先我必须输入N,N成为第一个要检查的数字。 输入:79 输出应为:537.70。 int sum=0; while(1) { scanf("%d", &n
aa: { one: "hello", two: "good", three: "bye", four: "tomorrow",
我尝试解决方案,我知道这是不对的,因为程序的输出不正确。我做错了什么? 我有一个内部节点类,每个节点都有值字段。此方法应返回具有介于 int min 和 max 之间的值字段的节点数。 //-----
我正在尝试弄清楚如何执行 mysql 查询,在该查询中我返回以(例如)A-D 开头的结果,又名将返回: - 动物 - 银行 - 可乐 - 狗但不是:冰屋 看起来很简单,但找不到有效的方法。 我的意思是
我正在开发一个程序,我必须打印出 1 到 239 之间的素数,包括 1 和 239(我知道一和二可能不是素数,但我们会认为它们是素数这个程序)它一定是一个非常简单的程序,因为我们只讨论了一些基础知识。
我有一个错误,我在 jsbin 中复制了这个错误:https://jsbin.com/micinalacu/1/edit?html,console,output 铁形式,提交时serialize方法返
我正在尝试为 UIColor 定义扩展 import UIKit extension UIColor { convenience init(rgb:UInt){ let red
通过对 A 和 B(含)之间的一个或多个整数进行按位或运算,可以生成多少个不同的数字? 解释: 在这种情况下,A=7 和 B=9。对 {7, 8, 9} 的非空子集进行按位或运算可以生成四个整数:7,
在尝试将ignore_malformed添加到索引设置时,我需要帮助。 我有: from elasticsearch import Elasticsearch es = Elasticsearch(
我希望生成介于 1500 和 1650 之间的随机整数。 我已成功生成介于 25 和 55 之间的随机值(包括以下代码)。但是,我遇到的问题是,如果我修改代码以生成 1500 到 1650 之间的值(
背景 我正在使用 cx_Freeze 构建我的应用程序的 Windows 和 Mac 包;构建在两个平台上都成功执行,在 Windows 上生成 msi,在 Mac 上生成 dmg/app,我可以安装
我是一名优秀的程序员,十分优秀!