- 7
- 0
- 约1.07千字
- 约 2页
- 2021-01-27 发布于河北
- 举报
#include stdio.h
int n[100],m[50],count=0;//n用于盛放输入的数,m用于记录每种组合的素数伴侣,count用于记录数组小标
int i,s;////记录输入的数的个数
/////判断一个数是否为素数
int issu(int a)
{
int i;
for(i=2;i=a/2;i++)
if(a%i==0)
return 0;
return 1;
}
void f()
{
int j,k,l,temp[100],temp1=0;
int p=0;
i=s;
////////初始化数组temp[100]
for(j=0;ji;j++)
temp[j]=n[j];
//////求某中组合的素数伴侣的个数
for(j=0;ji;j++)
for(k=j+1;ki;k++)
{
p=temp[j]+temp[k];
if(issu(p))///如果两个数的和为素数
{
m[count]++;///对应的数组值加1(记录每中组合数的素数伴侣个数)
for(l=k;li-1;l++)
temp[l]=temp[l+1];///把满足条件的一对素数的后一个数的后面的数向前移一位
i--;///数组长度减去1
break;//跳出本次循环
}
else
continue;
}
count++;//数组下标加1
////把数组的第一个数移动到最后一位。
temp1=n[0];
for(j=0;js-1;j++)
n[j]=n[j+1];
n[s-1]=temp1;
}
void main()
{
int j,k;
int temp;
scanf(%d,s);
for(j=0;js;j++)
scanf(%d,,n[j]);
for(j=0;js;j++)////对每一种组合,进行计算
f();
for(j=0;j50;j++)////对记录每种组合素数伴侣个数的数组进行排序(从大到小)
for(k=j+1;k50;k++)
if(m[j]m[k])
{
temp=m[j];
m[j]=m[k];
m[k]=temp;
}
printf(%d\n,m[0]);///输出其中最大的一个
}
您可能关注的文档
- citilog与威路特技术对比文件.doc
- cip改善案例讲解.ppt
- cisp0205网络安全设备(周军修改).ppt
- cmis30基础数据提取软件(fep)v200.doc
- cmos 集成逻辑门电路.ppt
- cites(华盛顿公约)介绍.ppt
- commvault备份软件指标.doc
- company intranet 企业内部网络.doc
- comsol multiphysics acdc模块用户指南.pdf
- cordic算法在三轴电子罗盘中的应用.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)