学不明白


私信TA

用户名:dotcpp0688402

访问量:1082

签 名:

等  级
排  名 3898
经  验 1823
参赛次数 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 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

  • «
  • »