1 #include

2 #include

3 #include

4

5 char explode( char * str , charsymbol );6

7

8 double distance ( int x1 , int y1 , int x2 , int y2 ); //求平面上2个坐标点的直线距离

9 double circle_area( double radius ); //求圆面积。 radius 半径

10 double two_point_cacl_circle_area ( int x1 , int y1 , int x2 , int y2 );//从两点坐标,求圆的面积11

12 //阶乘,递归方式实现。

13 int jiecheng( intN );14

15 //递归方式,求2数的最大公约数

16 int digui_gongyueshu( int a , intb );17 //菲波那次数列

18 int fibonacci( intN );19

20 int main( int argc , char **argv ){21 char * str = "4;5;6;18;26;31;42;57;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;89;90;91;93;94;95;96;97;98;99;100;101;102;103;104;105;1051;1052;1310;1023;1041;1203;1256;1259;1260;1270;1210;1209;1279;1282;1278;1211;1276;1275;1240;1236;1235;1234;1239;1281;1028;1026;1231;1232;1277;1042;1050;1019;1267;1266;1268;1295;1265;1264;1258;1289;1219;1218;1217;1216;1016;1252;1251;1250;1249;1245;1244;1215;1243;1242;1302;1255;1287;1241;1253;1230;1271;1272;1054;1283;1284;1285;1286;";22 char * result = "";23 char list ={};24 int x1 = 3 , y1 = 7 , x2 = 7 , y2 = 9; //2个坐标

25

26 printf( "求阶乘的结果是:%d" , jiecheng( 4) );27

28 printf( "平面上2个坐标x1( %d , %d ) , x2( %d , %d ),的直线距离是:%f", x1 , y1 , x2 , y2 , distance( x1 , y1 , x2 , y2 ) );29

30 printf( "平面上2个坐标x1( %d , %d ) , x2( %d , %d ),的直线距离作为圆的半径时,这个圆的面积是:%f", x1 , y1 , x2 , y2 , two_point_cacl_circle_area( x1 , y1 , x2 , y2 ) );31

32

33 printf( "8和5 的最大公约数是: %d" , digui_gongyueshu( 8 , 5) );34 printf( "8和15 的最大公约数是: %d" , digui_gongyueshu( 8 , 15) );35

36 int i = 0;37 for( ; i <= 8 ; ++i ){38 printf( "%d 的菲波那次数列 值是: %d", i , fibonacci( i ) );39 }40

41 //printf( "%s

" , str );

42 return 0;43 }44

45 char explode( char * str , charsymbol ){46 char list ={};47 int i = 0 , j = 0;48 int len =strlen( str ) ;49 //int len = sizeof( list ) / sizeof( int );//如果是int,float,double型, 通过sizeof()来计算list的长度

50

51 /*

52 for( ; i < len ; ++i ){53 if( str[ i ] != symbol ){54 list[ j ] += str[i];55 }56 else{57 ++ j;58 }59 }60 */

61

62 returnlist;63 }64

65

66

67 //通过画勾股定理直角三角形 ,求平面上2个坐标点之间的巨鹿

68 double distance ( int x1 , int y1 , int x2 , inty2 ) {69 int x = 0 , y = 0;70 double res = 0.0;71

72 x = abs( x2 - x1 ); //直角三角形的 勾

73 y = abs( y2 - y1 ); //直角三角形的 股

74

75 res = sqrt( x * x + y * y ) ; //勾股定理 求 斜线

76 returnres;77 }78

79 //求圆面积。 radius 半径

80 double circle_area( doubleradius ){81 double pi = 3.1416;82 return pi * radius *radius;83 }84

85 //从两点坐标,求圆的面积

86 double two_point_cacl_circle_area ( int x1 , int y1 , int x2 , inty2 ){87 returncircle_area( distance( x1 , y1 , x2 , y2 ) );88 }89

90 //阶乘,递归方式实现。

91 int jiecheng( intN ){92 int res = 0;93

94 //先写1个,参数最小的情况的返回值

95 if( N == 0){96 res = 1;97 }98 //再写1个递归调用的情况。

99 else{100 res = N * jiecheng( N - 1);101 }102 printf( "%d阶乘的结果:%d", N , res );103 //完成递归。

104 returnres;105

106 /*

107 我们从数学上严格证明一下factorial函数的正确性。108 刚才说了,factorial(n)的正确性依赖于factorial(n-1)的正确性,109 只要后者正确,在后者的结果上乘个n返回这一步显然也没有疑问,那么我们的函数实现就是正确的。110

111 因此要证明factorial(n)的正确性就是要证明factorial(n-1)的正确性,112 同理,要证明factorial(n-1)的正确性就是要证明factorial(n-2)的正确性,113

114 依此类推下去,最后是:要证明factorial(1)的正确性就是要证明factorial(0)的正确性。115

116

117 而factorial(0)的正确性不依赖于别的函数,它就是程序中的一个小的分支return 1;,118 这个1是我们根据阶乘的定义写的,肯定是正确的,因此factorial(1)也正确,119 因此factorial(2)也正确,120 依此类推,最后factorial(n)也是正确的。121

122 其实这就是中学时讲的数学归纳法(Mathematical Induction),123 用数学归纳法来证明只需要证明两点:Base Case正确,递推关系正确。124 */

125 }126

127

128 //递归方式,求2数的最大公约数

129 int digui_gongyueshu( int a , intb ){130 int res = 0;131 if( a % b == 0){132 res =b;133 }134 else{135 res = digui_gongyueshu( b , a %b );136 }137 returnres;138

139 /*

140 1、编写递归函数求两个正整数a和b的最大公约数(GCD,Greatest Common Divisor),使用Euclid算法:141

142 1. 如果a除以b能整除,则最大公约数是b。143 2.否则,最大公约数等于b和a%b的最大公约数。144

145 Euclid算法是很容易证明的,请读者自己证明一下为什么这么算就能算出最大公约数。146 */

147 }148

149 //菲波那次数列

150 int fibonacci( intN ){151 int res = 0;152

153 if( N == 1 || N == 0){154 res = 1;155 }156 else{157 res = fibonacci( N - 1 ) + fibonacci( N - 2);158 }159 returnres;160 }161

162

两坐标点的直线距离c语言,c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode...相关推荐

  1. PTA题库函数递归 菲波那切数列(递归版)

    请编写递归函数,求菲波那切(Fibonacci)数列某一项的值. 0, 1, 1, 2, 3, 5, 8, 13 , 21, 34, 55, 89, 144, ... 函数原型 double Fib( ...

  2. 阶乘 c语言 fushu,JS递归实现阶乘和菲波那切数列

    当我们需要使用递归来完成某些操作的时候,我们先要了解什么是递归 什么是递归? 递归,就是在运行的过程中调用自己. 一般来说,递归需要有边界条件.递归前进段和递归返回段. 当边界条件不满足时,递归前进: ...

  3. C语言算2个坐标点之间的距离,c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode...

    #include #include #include char explode( char * str , char symbol ); double distance ( int x1 , int ...

  4. php菲波那切数列,php实现菲波那切数列和杨辉三角

    1.递归  显示斐波那契数列 function recursion($num){ //判断是否小于0 if($num<0){ return -1; } if($num==1){ return 0 ...

  5. Bailian2758 菲波那契数列(2)【递推】

    2758:菲波那契数列(2) 总时间限制: 1000ms 内存限制: 65536kB 描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和. 给出一个正整 ...

  6. Bailian2753 菲波那契数列(POJ NOI0202-1755)【数列+记忆化递归】

    问题链接:POJ NOI0202-1755 菲波那契数列. 菲波那契数列 总时间限制: 1000ms 内存限制: 65536kB 描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下 ...

  7. HDU5620 KK's Steel【菲波拉契数列+水题】

    KK's Steel Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  8. 两个经典递归问题:菲波那契数列 + 汉诺塔

    一.递归问题的处理步骤 1)抽象出递归公式:对实际问题进行部分穷举,抽象出递归关系(关键),并列出"递归表达式" 2)确定递归出口:找出递归调用终止点 二.菲波那契数列 实际问题: ...

  9. 菲波拉契数列(传统兔子问题)

    题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 斐波那契数: 亦称之为斐波那契数列(意大利语: ...

  10. java - 菲波拉契数列 兔子个数

    菲波拉契数列:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 结果演示 代码演示 package com.tw ...

最新文章

  1. Openwrt 刷机后配置WAN口,安装luci和设置中文、安装挂载USB存储。
  2. JavaScript实现存储HTML字符串
  3. python第三方库安装方法-Python第三方库安装
  4. [CentOS Python系列] 四.阿里云服务器CentOS连接远程MySQL数据库及pymsql
  5. Effectice Java之始终覆盖toString(十)
  6. stl vector 函数_vector :: at()函数以及C ++ STL中的示例
  7. 神经网络与深度学习——TensorFlow2.0实战(笔记)(六)(Matplotlib绘图基础<折线图和柱状图>python)
  8. 抗日战争时期的陈建功和苏步青
  9. js 判断移动端还是pc端,ios或者android
  10. Visual Studio调试之避免单步跟踪调试模式
  11. 黑苹果电池电量补丁_修改DSDT实现电量显示方法【转载】
  12. ACTIVEX控件debug版本在Win7下注册失败的处理方法
  13. The server time zone value 'XXXXXXXXX' is unrecognized or represents more tha
  14. 苹果手机备份有必要吗_苹果手机备份最简单方式!原来大神都这样做
  15. 浅析3D音效的技术和发展
  16. 名帖35 吴叡 隶书《离骚》
  17. POJ1655 Balancing Act 题解
  18. 微信小程序-000-签到功能-011-我报名过的活动-查看详情
  19. obj模型转json模型_2D转3D!14位艺术家的动漫模型作品欣赏~
  20. 解决ubuntu下vi上下左右方向键出现字母,backspace键不能删除字符

热门文章

  1. QT正则表达式截取字符串末尾数字
  2. python模拟火车订票系统代码_100行Python代码实现自动抢火车票
  3. 阿里巴巴Java开发文档2020版学习-命名风格
  4. ARM开发7.3.3 基础实训( 3 ) 独立式键盘的输入系统设计--LPC21XX
  5. PM2服务器启动nodejs项目
  6. Linux ls按时间排列
  7. php使用到的函数记录一
  8. 拍拍二手重装上阵,京东剑指闲鱼胜算几何?
  9. 45、我的C#学习笔记11
  10. 调查 | 用户无法识别网络钓鱼攻击