有大佬能告诉我为什么这个程序它
c4droid吧
全部回复
仅看楼主
level 7
鸢-纶 楼主
有大佬能告诉我为什么这个程序它总会多输出几个数吗,像7,13等数就一连输出了好几遍
# include <stdio.h>
# include <math.h>
int main (void)
{
int m, n, i, t;
int sum = 0;
//sum为素数和
int cnt = 0;
//cnt为素数个数
printf ("请输入两个整数,中间以空格隔开\n");
scanf ("%d %d",&m,&n);
printf ("两数之间素数为:\n");
if (m>n)
{
t=m;
m=n;
n=t;
}
for (;m<=n;++m)
{
for (i=2; i<=sqrt(m
+3
); ++i)
{
if (m%i != 0)
{
printf ("%d, ",m);
++cnt;
sum += m;
}
}
}
printf ("\n两数之间共有%d个素数\n",cnt);
printf ("两数之间素数之和为%d\n",sum);
return 0;
}
2017年08月03日 10点08分 1
level 9
# include <stdio.h>
# include <math.h>
int main (void)
{
int m, n, i, t;
int sum = 0;
//sum为素数和
int cnt = 0;
//cnt为素数个数
printf ("请输入两个整数,中间以空格隔开\n");
scanf ("%d %d",&m,&n);
printf ("两数之间素数为:\n");
if (m>n)
{
t=m;
m=n;
n=t;
}
for (; m<=n; ++m)
{
for (i=2; i<=sqrt(m); ++i)
{
if (m%i == 0)
{
break;
}
}
if(i>sqrt(m))
{
printf ("%d, ",m);
++cnt;
sum += m;
}
}
printf ("\n两数之间共有%d个素数\n",cnt);
printf ("两数之间素数之和为%d\n",sum);
return 0;
}
2017年08月03日 16点08分 2
谢谢
2017年08月05日 13点08分
大哥,你这个程序算法有问题啊,你没有避开2这个数
2017年08月05日 13点08分
回复
西冥毒
:2也是素数
2017年08月05日 14点08分
回复
西冥毒
:数学体育老师教的?
2017年08月05日 15点08分
1