为什么找素数输入会有无规律的差别?(语言-c语言)

img

img

我想问的是,我第一个找素数的代码写错了,可是按道理,第一个代码运行应该比第二个代码多。1-4-9-16-25-36.可是事实有些数没有输出。这是为何?

if(i>sqrt((double)n),这里不能用等于。这样会导致4,9,16这样的平方数被认为是素数