题目链接

解题思路

该题我采用的是暴力求解的方法:假设我们要找的长度为10的等差素数列为arr[10],
因为是等差素数列,所以已经是确定了这个数列里面均为素数。

也就是说:
假设arr[0]是长度为10的等差素数数列中第一个
arr[9]是长度为10的等差素数数列中最后一个
arr[0]和arr[9]之间差值为9 * d,
arr[0]和arr[y]之间差值为y * d, 1<=y<=9

那么我们可以先确定一个素数arr[0],然后在这个arr[0]的基础上,for循环遍历公差d,
去判断arr[y]=arr[0]+y*d是否为素数,若arr[1]到arr[9]均为素数,
也就说10个长度的等差素数列已找到,那么我们的d也就确定了。

代码如下

#include <stdio.h>
#include <stdlib.h>
int IsPrimes(int x)//判断是否是素数,是返回1,不是返回0
{if (x == 1){return 0;}if (x == 2){return 1;}for (int i = 2;i < x;i++){if (x%i == 0){return 0;}}return 1;
}int main(int argc, char *argv[])
{//假设arr[0]是长度为10的等差素数数列中第一个//    arr[9]是长度为10的等差素数数列中最后一个//arr[0]和arr[9]之间差值为9*d,//arr[0]和arr[y]之间差值为y*d, 1<=y<=9int count = 0;for (int i = 2;i < 10000;i++)//遍历素数{if (IsPrimes(i))//arr[0]初步确定{for (int d = 1;d < 1000;d++){for (int j = 1;j < 10;j++)//首项已经判断好是素数的,我们这里直接从+1d开始判断到+9d{if (IsPrimes(i + j * d)){count++;}else{count = 0;break;}if (count == 9)//已找到需要的d{printf("%d", d);return 0;}}}}}return 0;
}

需要注意的是,d<1000这个大致范围你要给一下(你也可以是d<500,d<300等等),
不然你直接for (int d = 1;d ;d++),d就会一直增加,然后i一直是2,i永远无法往后进行判断

而i<10000这个大致范围也要给一下,否则可能因为你遍历的i比较少,
你给的i全找完了也没有找到符合要求的等差素数列。

C语言蓝桥杯刷题:等差素数列相关推荐

  1. 第八届蓝桥杯第二题等差素数列

    标题:等差素数列 2,3,5,7,11,13,....是素数序列. 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 200 ...

  2. 蓝桥杯 填空题 水题 等差素数列 C++ 简单暴力枚举

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 2,3,5,7,11,13,....2,3,5,7,11,13,.... 是素数序列. 类似:7,37,67,97, ...

  3. 第八届蓝桥杯省赛第二题---等差素数列

    标题:等差素数列 2,3,5,7,11,13,....是素数序列. 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 200 ...

  4. C语言蓝桥杯刷题:数字三角形

    题目链接 解题思路: 该题是一道经典的动态规划,对于这样的数字三角形, 我们用一个数组arr存储各个位置的数字,再用另一个数组brr来记录到该位置的最大路径 对于图中的7,我们用数组保存就是arr[0 ...

  5. C语言蓝桥杯刷题:成绩统计

    题目链接 //成绩统计 int main() {int n = 0;scanf("%d", &n);int arr[10000] = { 0 };//学生成绩数组int j ...

  6. C语言蓝桥杯刷题:受伤的皇后

    题目链接 #include <stdio.h> #include <stdlib.h> #include <math.h> int arr[10];//arr[i] ...

  7. C语言蓝桥杯刷题:删除字符

    题目链接 //删除字符 #include <stdio.h> #include <stdlib.h> #include <string.h> //思路: //从左边 ...

  8. 17蓝桥javaB 等差素数列

    1.题目描述 题目:2,3,5,7,11,13,-.是素数序列. 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 2004 ...

  9. python蓝桥杯训练营一 等差素数列

    2,3,5,7,11,13,.... 是素数序列. 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为 3 ...

  10. 算法竞赛---day1(等差素数列)

    声明:最近有点小烦躁,学了这么长时间的算法,连个皮毛都不知道掌握了没有,漫无目的的学习,让我自己开始怀疑自己在学习过程中是否走入了低效的陷阱,学以致用,我准备这阵子认真准备20年的蓝桥杯,拿不拿奖无所 ...

最新文章

  1. angular.foreach 格式
  2. 在python程序中的进程操作
  3. 数组模拟单链表acwing826. 单链表
  4. 首份《顶级数据团队建设全景报告》重磅发布: 逾半数据团队称人才储备不足
  5. Ubuntu16.04安装ROS kinetic
  6. Java IdentityHashMap size()方法与示例
  7. linux与磁盘相关的内容
  8. 无人机在高楼区做倾斜摄影的地籍建模项目报告
  9. MLDN Java学习笔记(4)
  10. 十一、 人工变量之 “大M” 法
  11. 压缩文件中文件名乱码问题
  12. 完美解决PC电脑0x0和0x800BFA07等错误,成功加入Windows10/11预览体验计划
  13. 干货,主流大数据技术总结
  14. 原来苹果手机是这样清理内存的,能腾出大量内存,难怪用这么久还流畅
  15. ubuntu的gnome桌面重启
  16. R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
  17. [PTA]练习5-3 数字金字塔
  18. 雷电模拟器运行一直不动解决方案
  19. 具有连续调制光栅区域的光波导优化
  20. Javascript错误处理——try...catch

热门文章

  1. 泛函分析 06.01 线性算子的谱理论 - 谱集和正则点集
  2. 前端度分秒与经纬度互转
  3. 固件工程师到底是干什么?
  4. 《ARM 嵌入式系统编程与优化》之 Linux/ARM 嵌入式平台
  5. dapper--查询超时时间
  6. 寻找春天nbsp;九宫格日记-2011.08.24
  7. javawebJAVAJSP网吧管理系统(JSP网吧计费管理系统)网吧收费管理系统网吧自动计费管
  8. linux计划任务管理: cron定时任务,详解
  9. 使用docker搭建couchbase集群
  10. Mac系统如何安装Eclipse并搭建Android开发环境