C/C++基础算法
Storyteller-LS
希望五年以后我还从事这个行业
展开
-
最大公约数
思路:辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至公元前300年前。 #include<stdio.h>int maxNum(int a,int b) { return a%b==0?b:maxNum(b,a%b);//三目运算符 } int main() { int a,原创 2017-04-07 00:54:43 · 252 阅读 · 0 评论 -
最小公倍数
思路:最小公倍数等于两数之积除以其最大公约数 两个或多个整数公有的倍数叫做它们的公倍数。 int GCD(int a,int b) { return a%b==0?b:GCD(b,a%b); } int main() { int a,b; scanf("%d %d",&a,&b); int lcm = a*b/GCD(a,b); p原创 2017-04-07 01:12:50 · 440 阅读 · 1 评论 -
绝对值
int abs(int x) { //绝对值(整型) if (x < 0) return -x; else return x; } double abs(double x) { //绝对值(浮点数) if (x < 0.0) return -原创 2017-04-07 09:12:18 · 446 阅读 · 0 评论 -
计算调和级数
思路:使用双精度类型求解 由调和数列各元素相加所得的和为调和级数,易得,所有调和级数都是发散于无穷的。但是其拉马努金和存在,且为欧拉常数。 很早就有数学家研究,比如中世纪后期的数学家Oresme在1360年就证明了这个级数是发散的。他的方法很简单: 1 +1/2+1/3 +1/4 + 1/5+ 1/6+1/7+1/8 +… 1/2+1/2+(1/4+1/4)+(1/8+1/8+原创 2017-04-07 12:35:41 · 2742 阅读 · 1 评论 -
三角形斜边
思路:满足勾股定理,使用sqrt()开方函数求解 勾股定理 外文名 Pythagoras theorem 表达式 a²+b²=c² double hypotense(double a, double b) { return (Math.sqrt(a * a + b * b)); }原创 2017-04-07 12:43:25 · 453 阅读 · 0 评论 -
是否是素数
思路:素数(prime number)又称质数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。bool isPrime(int x) { if (x < 2) return false; for (int i = 2; (int)sqrt(x) > i; i++) { if (x原创 2017-04-07 09:58:17 · 228 阅读 · 0 评论 -
十进制转二进制
思路:除二逆取余法code#include <stdio.h> void toBinary(int num) //方法一 { int bin[1000],i=0,j; while(1) { if(num==0)break; bin[i++] = num%2; num/=2; } for(j=i原创 2017-04-07 21:41:00 · 359 阅读 · 0 评论 -
逆序输出数组元素
思路:获取数组长度N,N- -输出#include <stdio.h> int main() { int a[5]={0,1,2,3,4}; for(int i =4;i>=0;i--) printf("%d ",a[i]); return 0; }原创 2017-04-07 23:31:42 · 1307 阅读 · 0 评论 -
C#、.NET、ASP.NET三者的关系
参考自http://blog.csdn.net/279503482/article/details/6007190#comments翻译 2017-08-31 22:28:24 · 269 阅读 · 0 评论