c# - 从列表框到文本框的素数
问题描述
我想通过从 LISTBOX 到 textbox 的按钮显示素数。该界面正确显示素数,但仅从 1 到 10 ,之后算法更改并将非素数显示为素数,例如 44 。
private void primnr()
{
int n = listBox1.Items.Count;
bool prim = true;
for (int i = 2; i < n; i++)
{
for (int j = 2; j <n; j++)
{
if (i!=j && i%j==0)
{
prim = false;
break;
}
}
if (prim)
{
textBox2.Text = textBox2.Text + "Numar prim: " + listBox1.Items[i].ToString() + Environment.NewLine;
}
prim = true;
}
}
解决方案
你的算法很好,尽管 j 没有必要超过 i 值的一半。https://dotnetfiddle.net/ZafFsb打印:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,
所以我会说你的问题是存储的值listBox1.Items[i]
,确定Items[43] = 43
吗?附加断点并检查值。
推荐阅读
- google-cloud-speech - 谷歌云语音到文本不返回标点符号
- php - PHP/JSON-OOCSS:单击任何元素后如何永久修改 CSS 文件?
- react-native - React Native Navigation Library - 隐藏底部选项卡
- discord.js - discord.js中间隔使用的时间单位是什么?
- reactjs - 无法从我的反应应用程序中的调查 js 中获取 Json 输出
- office-addins - 我可以使用 Office 加载项和 selenium-webdriver(或 nightmare 或 puppeteer)打开网页并输入数据吗
- wordpress - 当有人单击与 URL 共享属性图像的共享图标时,我该如何做到这一点
- angular - 打开相同 Ngx-Bootstrap 模态的多板
- magento2 - 如何在服务器的子目录中部署 magento pwastudio?
- macos - macOS 终端,User 文件夹的目录