using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace prime
{
class Program
{
static void Main(string[] args)
{
int i, j, sqrt_number, column = 0;
Console.WriteLine("100-400之间的所有素数如下:");
for (i = 100; i <= 400; i++)
{
bool flag = true;
sqrt_number = Convert.ToInt16(Math.Sqrt(i));
for (j = 2; j <= i; j++)
{
if (i % j == 0)
{
flag = false;
break;
}
}
if (flag)
{
Console.Write("{0} ", i);
column++;
}
if (column > 10)
{
column = 0;
Console.WriteLine();
}
}
Console.ReadLine();
}
}
}
这是我的代码 我死活没检查出错误 但是运行的时候只出现了 “100-300素数如下:” 求大神找出错误~
关于C# 求100-300之间的素数
答案:2 悬赏:0
解决时间 2021-02-22 08:02
- 提问者网友:回憶丶初
- 2021-02-21 12:08
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-02-21 12:14
把 for (j = 2; j <= i; j++),改成
for (j = 2; j <= sqrt_number; j++)
即可,
for (j = 2; j <= sqrt_number; j++)
即可,
全部回答
- 1楼网友:风格单纯
- 2021-02-21 12:51
你这个程序有问题啊,chu的值只初始化一次,所以后面不断的循环,chu的值一直在不断的加一,导致无法实现查找100-200所有素数的功能,解决方法就是在每次进行第二个for循环之前把chu的值再次初始化一次,即chu=2,要么chu的定义不变,在第二个for循环的第一个参数写chu=2,或者去掉最前面的chu的定义,直接写在gen的定义后面,int chu=2
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯