c# - 我的素数程序中的逻辑错误
问题描述
有人可以识别我程序中的逻辑错误吗?我只得到 2 和 3 作为素数的结果。
算法如下:
内部外部;
内部;
整数计数=0;
对于(外部= 2;外部<= 100;外部++)
{
对于(内部 = 2;内部 <= 外部;内部 ++)
{
如果(外部 % 内部 == 0)
计数 = 计数 + 1;
}
如果(计数 == 1)
{
Console.WriteLine("素数是 {0}", inner - 1);
计数 = 0;
}
否则如果(计数> 1)
Console.WriteLine("{0} 不是素数", inner - 1);
}
解决方案
谢谢你。问题在于计数。我重新发布更正的代码
对于(外部= 2;外部<= 100;外部++)
{
for (inner = 2; inner <= outer; inner++)
if (outer % inner == 0)
count = count + 1;
if (count == 1)
{
Console.WriteLine("prime is {0}", inner - 1);
count = 0;
}
else if (count > 1)
count = 0;
推荐阅读
- haskell - freer-simple - 如何在运行时生成效果成员列表?
- c# - 如何让控制台读取所有条件
- laravel - Laravel 本地停止工作,所有 artisan 命令和 composer 命令都不起作用
- makefile - 在 Makefile 中的命令替换中插入变量
- azure - 如果 SignalR 在 HTTPS 上,则无法建立连接
- r - 使用 misc3d 绘制平滑的隐式曲面
- .net - 图标是像素化的图片框
- mysql - 按我的 sql 中的一个字段分组并将另一个字段值连接为一个字符串
- php - 为什么我不能使用 PHP 访问类中的函数
- c# - 路由中的枚举序列化