求50-100之间的质数

#include math.h main() { int i,k,m,n=0; for(m=51,m<=100,m=m+2) { if(n%5==0) printf("\n"); k=sqrt(m); for(i=2,i<=k,i++) if(m%i=0)break; if(i>=k+1)printf("%d",m,n=n+1); } }
题目大概是这样的,可能有的地方记不清了。问题是:结果是什么以及里面的变量n的作用
谁帮我看看啊

这段程序有一些错误,不过可以猜想到目的是输出50-100间的质数。而n的作用我觉得有三种可能
1、如果程序末尾是if(i>=k+1)printf("%d%d",n=n+1,m); } }
那么n的作用应该是输出质数的编号,并且控制一行输出5个
2、如果程序末尾是if(i>=k+1){printf("%d",m);n=n+1;} } }
那么n的作用仅仅是控制一行输出5个
3、如果程序末尾还有输出n,那n就是50-100之间的质数个数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-11
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication13
{
class Prime
{
public void prime(int a, int b)
{
int x;
if (a >= b)
x = b;
else
x = a;
for (int i = 2; i <= x; i++)
{
if (a % i == 0)
{
if (b % i == 0)
{
int sum = 0;
for (int j = 2; j <= i; j++)
{
if (i % j == 0)
{
sum++;
}
}
if (sum <= 1)
{
Console.WriteLine(i);
}

}
}
}
}
}
class Program
{
static void Main(string[] args)
{
int a,b;
Console.Write("请输入数字a:");
a =Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入数字b:");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("a:" + a + "\nb:" + b);
Prime prime = new Prime();
prime.prime(a, b);

}
}
}
第2个回答  2011-02-10
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
53 59 61 67 71 73 79 83 89 97