学不明白


私信TA

用户名:dotcpp0688402

访问量:986

签 名:

等  级
排  名 3577
经  验 1825
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校 成都信息工程大学
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:无

参考代码:

#include<stdio.h>

#include<math.h>

int primesum(int a)//判断是否为素数

{

int m,n,sum,k=0;

for(int i=2;i<a;i++)

{

sum=0;

for(int j=2;j<=sqrt(i);j++)

{

if(i%j==0)

{

sum=1;

break;

}

}

k+=(sum==0);

}

return k;

}

void prime(int *arr,int a)//用数组存放素数

{

int m,n,sum,k=0;

for(int i=2;i<a;i++)

{

sum=0;

for(int j=2;j<=sqrt(i);j++)

{

if(i%j==0)

{

sum=1;

break;

}

}

if(sum==0)

{

arr[k]=i;

k++;

}

}

}

int main()

{

int m,n,ji=0,ou=0;

scanf("%d",&m);

if(m%2!=0)

scanf("%d",&m);

n=primesum(m);

int arr[n];

prime(arr,m);

for(int i=0;i<n;i++)

{

for(int j=0;j<n;j++)

{

if(arr[i]+arr[j]==m&&i!=j)

ji+=1;

if(arr[i]+arr[j]==m&&i==j)

ou+=1;

}

}

printf("%d",ji/2+ou);//2 5, 5 2是一种,所以除以二;2 2, 2 2是一种

return 0;

}


 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区