目录

一、最大公约数(公因数)

方法一:暴力循环

方法二:递归求解

二,最小公倍数

三、素数

四、水仙花数、玫瑰花数....

方法一、一位一位枚举

方法二:整体枚举


在很多时候,编程语言不经可以方便的让我们进行一些操作,不仅仅是模拟,也可以解决数学问题,今天就给大家讲几个编程语言中的经典数学问题:

一、最大公约数(公因数)

最大公约数是指两个数所共同包含的最大因数,例如12和18的公约数有 1,2,3,6,所以12和18的最大公约数为 ​6。

如果两个数互质(两个数都只有公因数1时,两数互质,奇数和奇数互质,质数和任何数互质,1和任何数互质),最大公约数为1。

在编程中,最好用的是eucilid算法(辗转相除法),是求两个整数最大公约数的算法。这是已知最古老的算法,可以追溯到公元前300年。它首次出现于欧几里德的《几何原本》中,在中国最早出现在东汉的《九章算术》中。

算法描述如下,设两个数a,b。

(1)令r = a mod b

(2)若r = 0,则b是最大公约数,算法结束,若r≠0,则令a = b,b = r继续。

上代码!

方法一:暴力循环

#include<iostream>
using namespace std;
int a,b,r;
int main()
{cin>>a>>b;r = a%b;while(r!=0){a = b; b = r; r = a%b;  }cout<<b;return 0;
}

方法二:递归求解

#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){if(b == 0){return a;}else{return gcd(b,a%b);}
}
int main()
{int a,b;cin>>a>>b;cout<<gcd(a,b)<<" ";return 0;
}

二,最小公倍数

最小公倍数的算法实现很简单,设两个数a,b,先求出a和b的最大公约数,再用a与b的乘积,再除以最大公约数,得出最小公倍数。

代码如下:

#include<bits/stdc++.h>
using namespace std;
long long n,m;
int GCD(int x,int y){if(y == 0){return x;}else{return GCD(y,x%y);}
}
int lcm(int a,int b){return a*b/GCD(a,b);
}
int main(){cin>>n>>m;cout<<lcm(n,m);return 0;
}

三、素数

素数为因数只有1和它本身的数,1既不是素数也不是合数,0(不带他玩,没意义),质数有无穷个,只有一个偶数(2)。

代码模拟,可以将因数枚举,从2到根号n,如果i可以整除这个数,那么不是质数。

放一下函数部分:

bool is_prime(int n){for(int i = 2 ; i<=sqrt(n) ; i++) if(n%i == 0) return 0;//导入cmath库来使用sqrt开根号return 1;
}

四、水仙花数、玫瑰花数....

水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身,例如153就是一个水仙花数(1³+3³+5³ = 1+27+125 = 153)

玫瑰花数:所谓“玫瑰花数”,指一个四位的正整数,等于它的个位数字4次方,加十位数字4次方,加百位数字4次方,加千位数字4次方的和。

暴力枚举就可以了

方法一、一位一位枚举

玫瑰花数代码:

#include<iostream>
using namespace std;
int main()
{int i,j,k,l,n;for(i = 1;i<=9;i++){for(j = 0;j<=9;j++){for(k = 0;k<=9;k++) {for(l = 0 ; l<=9 ; l++){n = i*1000+j*100+k*10+l;if(i*i*i*i+j*j*j*j+k*k*k*k+l*l*l*l == n) cout<<n<<endl;}}}}return 0;
}

方法二:整体枚举

水仙花数代码:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{int a,b,c;for(int i = 100;i<=999;i++){a = i/100;b = i/10%10;c = i%10;if(pow(a,3) + pow(b,3) + pow(c,3) == i) cout<<i<<" ";}return 0;
}

在编程语言中的数学问题相关推荐

  1. Shell脚本笔记(三)shell中的数学计算

    shell中的数学计算 一.使用方括号 #!/bin/bash a=10 b=29 c=88res=$[$a * ($c-$b)] echo $res 二.使用(()) echo $((1+9)) ( ...

  2. python绘制如下图形、小三角形边长20_在编程中发现数学之美——使用Python小龟绘制多边形...

    在使用数学知识画出很酷的各种图形之前,你需要先学习Python编程语言的基础知识.本文将会带你熟悉以下编程概念:循环.变量.函数.使用小龟模块绘制图像.本文假设你已经安装了Python,如果没有,欢迎 ...

  3. A02_Python(基本数据类型,容器,函数,类),Numpy(数组array,数组索引,数据类型,数组中的数学,广播)

    Python的版本 基本数据类型 与大多数语言一样,Python有许多基本类型,包括整数,浮点数,布尔值和字符串.这些数据类型的行为方式与其他编程语言相似. Numbers(数字类型):代表的是整数和 ...

  4. 计算机科学中的数学(一)

    1.函数 数学函数三要素:定义域.对应法则.值域. 对应于编程语言中的函数:形式参数.函数主体(逻辑.计算规则).返回值. 2.命题 (1)命题的真假对应分支语句的真与假 分支语句判断条件有无遗漏,从 ...

  5. 信奥中的数学:斐波那契数列

    神奇的斐波那契数列-科学性与艺术性 神奇的斐波那契数列-科学性与艺术性_哔哩哔哩_bilibili 斐波那契数列 斐波那契数列_哔哩哔哩_bilibili 黄金分割比与斐波那契数列形成的最美比例,这是 ...

  6. Python中的数学运算操作符使用进阶

    原文链接:https://www.jb51.net/article/86988.htm 这篇文章主要介绍了Python中的数学运算操作符使用进阶,也包括运算赋值操作符等基本知识的小结 Python中对 ...

  7. [人工智能-数学基础-1]:深度学习中的数学地图:计算机、数学、数值计算、数值分析、数值计算、微分、积分、概率、统计.....

    作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article ...

  8. 信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学

    从搜狗CEO王小川(信息学金牌),看这二十几年中国奥赛金牌的去向 从搜狗CEO王小川(信息学金牌),看这二十几年中国奥赛金牌的去向 国内顶尖信息学奥赛名校训练模式有感 国内顶尖信息学奥赛名校训练模式有 ...

  9. 区块链中的数学(四十二)---基于RSA的VRF(随机可验证函数)

    文章来源区块链技术公众号"blocksight",原文欢迎关注! 写在前面 上一节说了VRF(随机可验证函数)概述,由于VRF是与公钥密码学相结合的,自然少不了最常见的公钥密码学体 ...

最新文章

  1. ollvm 编译器优化的bug
  2. HDFS以IO流的形式上传和下载文件案例
  3. IE6.0,ie7.0与Firefox的CSS兼容性问题
  4. Linux系统管理01
  5. mysqld --initialize --console失败_超详细的mysql awr监控系统系统搭建教程--第一部分...
  6. java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令
  7. Windows窗体和常用控件的事件处理函数
  8. IPv6邻居状态与邻居检测机制
  9. VM两个虚拟机之间的通讯测试
  10. JSP之jsp内置标签
  11. sigmoid 激励函数
  12. 分布式电商项目十七:商品服务-三级分类和查询
  13. Java学习笔记——Character类
  14. JAVA记忆翻牌游戏制作
  15. REMIX智能合约实例BALLOT分析
  16. eclipse 显示繁体中文问题
  17. 【pytorch】model.train()和model.evel()的用法
  18. 连接Wifi显示“无internet,安全”的七种解决方法
  19. 万户OA牵手携程 助力企业商旅一体化管控
  20. 一个关于视频播放的小项目

热门文章

  1. VB编程小实例-----儿童识字
  2. X64dbg 2021最新版 中文乱码解决
  3. 解决Maven控制台输出乱码、Tomcat乱码、每次导入项目都要下载 真实有效!!!!!!!!
  4. 单点液位开关和连续液位传感器之间的区别及选择注意事项
  5. Mixer-First Receiver适用于宽带阵列应用的接收机技术1
  6. 如何用射频接收机测量噪声系数?
  7. Kindle 2.3发布了!
  8. keepalived的健康检查方式
  9. HTML5+CSS大作业——个人旅游图片博客(7页)
  10. 训练Cityscapes