证明任意一个偶数为两个素数之和

简介: 一、案例工程 1、案例代码 #include stdio.h> #include stdbool.h> #include math.h> #define YES 1 #define NO 0int isprime(int x) {    ...

一、案例工程


1、案例代码


  1. #include stdio.h>
  2. #include stdbool.h>
  3. #include math.h>
  4. #define YES 1
  5. #define NO 0

  6. int isprime(int x)
  7. {
  8.     int i = 2;
  9.     bool flag = false;
  10.     for(; i sqrt(x); i++)
  11.     {
  12.         if(x % i == 0)
  13.         {
  14.             flag = false;
  15.             return NO;
  16.         }
  17.         else
  18.             flag = true;
  19.     }
  20.     return YES;
  21. }

  22. void prove_1_even_has_2_prime(int x)
  23. {
  24.     int i = 2;
  25.     for (; i x/2; i++)
  26.     {
  27.         if(isprime(i))
  28.         {
  29.             if(isprime(x-i))
  30.                 printf("%d is a even,the prime are : %d,%d\n",x,i,x-i);
  31.         }
  32.     }
  33. }

  34. int main()
  35. {
  36.     int a;
  37.     printf("Input one even :\n");
  38.     scanf("%d",&a);
  39.     if(a%2 == 0)
  40.         prove_1_even_has_2_prime(a);
  41.     else
  42.         printf("%d is not a ever number\n",a);

  43.     return 0;
  44. }

2、编译过程


  1. [root@localhost arithmetic]# gcc -o evenAndprime evenAndprime.c -lm

注意要加上-lm

 

3、实数验证


  1. [root@localhost arithmetic]# ./evenAndprime
  2. Input one even :
  3. 50
  4. 50 is a even,the prime are : 3,47
  5. 50 is a even,the prime are : 7,43
  6. 50 is a even,the prime are : 9,41
  7. 50 is a even,the prime are : 13,37
  8. 50 is a even,the prime are : 19,31

 

二、算法分析

image

 

 

    算法思想:如果需验证的数置于变量X中,则可依次从X中减去i,其中i从2变化到X/2。

相关文章
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
397 1
|
7月前
|
机器学习/深度学习 决策智能 网络架构
C-3PO:多智能体强化学习赋能检索增强生成
C-3PO:多智能体强化学习赋能检索增强生成
202 2
|
10月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
270 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
12月前
|
存储 监控 安全
SaaS业务架构:业务能力分析
【9月更文挑战第20天】在数字化时代,软件即服务(SaaS)模式逐渐成为企业软件解决方案的首选。SaaS 业务架构设计对于提供高效、可靠的服务至关重要。其核心业务能力包括:用户管理(注册登录、角色权限)、数据管理(存储备份、安全共享)、业务流程管理(设计定制、工作流自动化)、应用集成(第三方应用、移动应用)及客户服务(支持培训、反馈改进)。通过优化这些能力,可为企业提供更高效、可靠的 SaaS 服务。
237 11
|
Web App开发 移动开发 安全
「趣学前端」关于iframe跨域通信
用技术实现梦想,用梦想打开创意之门。之前开发遇到了iframe跨域通信的问题,今天分享一下解决方案,顺便总结一波知识点。
1324 1
「趣学前端」关于iframe跨域通信
|
NoSQL Java 数据管理
Nacos开发手册
Nacos开发手册
710 0
Nacos开发手册
|
存储 小程序 数据库
核酸检测小程序实战教程
核酸检测小程序实战教程
核酸检测小程序实战教程
|
iOS开发 MacOS
Mac下安装npm全局包提示权限不够
Mac下安装npm全局包提示权限不够
968 0
|
存储 Java
【Java 虚拟机原理】栈帧 | 局部变量表 | 操作数栈 | 方法出口 | JVM 指令逐条解析
【Java 虚拟机原理】栈帧 | 局部变量表 | 操作数栈 | 方法出口 | JVM 指令逐条解析
405 0
【Java 虚拟机原理】栈帧 | 局部变量表 | 操作数栈 | 方法出口 | JVM 指令逐条解析
|
IDE 开发工具 C#
Visual Studio 2022 Preview 2 发布:扩展跨平台功能,支持实时预览,debug 更高效
Visual Studio 2022 Preview 2 发布:扩展跨平台功能,支持实时预览,debug 更高效
Visual Studio 2022 Preview 2 发布:扩展跨平台功能,支持实时预览,debug 更高效