求解答疑问(要求正文大于30个字符,我就乱打了。看看老夫i返回时覅u让服务规范无法回去edge给覅u啊二段hi)
if b<a 说明循环没有全部运行完,说明break肯定被调用过,换言之,就是存在可以整除的数,所以不是素数
是因为for循环没有加括号所以只执行for循环下面的1条语句
当找到一个因数时,立马终止循环,而此时并没有循环完,因此a肯定小于b,输出不是素数即可
判断质数还可以这样写:
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
int num;
scanf("%d",&num);
for(int i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
printf("%d不是质数",num);
return 0;
}
}
printf("%d是质数",num);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:int k = 0;
for(int i=0; i<n; ++i)
{
for(int j=i; j<n; ++j)
{
if(g->Edge[i][j]!=0 && g->Edge[i][j]!=MAX_COST)
{
edge[k].x = i;
edge[k].y = j;
edge[k].cost = g->Edge[i][j];
k++;
}
}
}
A-B的权值是6,A-C的权值是1……B-C的权值是5……