解题思路:将x内的素数存在数组中,通过遍历组合数字寻找符合条件的组合
注意事项:若两素数符合条件且不同,则需要将这部分的数量除以二,7+3和3+7是一种组合
参考代码:
#include<stdio.h> #include<stdbool.h> bool panduan(int x){//判断x是不是素数,是,则返回true,不是返回false if(x == 2) return true; if(x % 2 == 0){ return false; }else{ for(int i = 3; i < x; i++){ if( x % i == 0 ) return false; } return true; } } int res(int x){//返回结果 int cnt = 0,a[100000]; for(int i = 2; i < x; i++){//将x内的素数存入数组a中 if(panduan(i)){ a[cnt] = i; cnt++; } } int i,j=0; int sum=0,sum1=0,sum2 = 0; for(i = 0;i<cnt;i++){//枚举每一个素数组合判断是不是符合猜想 for(j = 0;j < cnt;j++){ if(a[i] != a[j]){//两个数字不一样,会多出一半输出,所以最后这部分数字除以二 if(x == a[i]+ a[j]){ sum1++; } }else{//两个数字一样 if(x == a[i]+ a[i]){ sum2++; } } } } sum = sum1/2 + sum2; return sum; } int main(){ int x; scanf("%d",&x); printf("%d",res(x)); return 0; }
0.0分
2 人评分
C二级辅导-统计字符 (C语言代码)浏览:782 |
C语言训练-最大数问题 (C语言代码).........关于-1浏览:762 |
数列 (C++代码)浏览:707 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:748 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:729 |
P1001 (C语言代码)浏览:836 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1808 |
Hello, world! (C++代码)浏览:1779 |
C语言训练-数字母 (C语言代码)浏览:648 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |