sqrt函数是不是不能直接用啊? 直接printf(“%d”,sqrt(i))是一堆数字,但是用一个中间变量就没有问题了
调试的时候,cnt已经指向下一个数了,所以才会输出都是0;
#include<stdio.h>
#include<math.h>int main()
{int n,sushu[100000]={0},cnt = 1,res=0,j;scanf("%d",&n);for(int i=2; i<=n; i++){ int k=sqrt(i);for(j=2; j<=k; j++){if(i%j == 0) break; }if(j>k) {sushu[cnt]=i;if(sushu[cnt]-sushu[cnt-1]==2) res++;cnt++;}}printf("%d",res-1);return 0;
}