#include <stdio.h>
#include <math.h>
#include <string.h> char explode( char * str , char symbol ); double distance ( int x1 , int y1 , int x2 , int y2 ); // 求平面上2个坐标点的直线距离
double circle_area( double radius ); // 求圆面积。 radius 半径
double two_point_cacl_circle_area ( int x1 , int y1 , int x2 , int y2 );// 从两点坐标,求圆的面积 // 阶乘,递归方式实现。
int jiecheng( int N ); // 递归方式,求2数的最大公约数
int digui_gongyueshu( int a , int b );
// 菲波那次数列
int fibonacci( int N ); int main( int argc , char ** argv ){
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;";
char * result = "";
char list = {};
int x1 = , y1 = , x2 = , y2 = ; // 2个坐标 printf( "\n求阶乘的结果是:%d \n" , jiecheng( ) ); printf( "\n平面上2个坐标x1( %d , %d ) , x2( %d , %d ),的直线距离是:%f \n" , x1 , y1 , x2 , y2 , distance( x1 , y1 , x2 , y2 ) ); printf( "\n平面上2个坐标x1( %d , %d ) , x2( %d , %d ),的直线距离作为圆的半径时,这个圆的面积是:%f \n" , x1 , y1 , x2 , y2 , two_point_cacl_circle_area( x1 , y1 , x2 , y2 ) ); printf( "\n 8和5 的最大公约数是: %d " , digui_gongyueshu( , ) );
printf( "\n 8和15 的最大公约数是: %d \n" , digui_gongyueshu( , ) ); int i = ;
for( ; i <= ; ++i ){
printf( "\n %d 的菲波那次数列 值是: %d " , i , fibonacci( i ) );
} //printf( "%s \n" , str );
return ;
} char explode( char * str , char symbol ){
char list = {};
int i = , j = ;
int len = strlen( str ) ;
// int len = sizeof( list ) / sizeof( int ); // 如果是int,float,double型, 通过sizeof()来计算list的长度 /*
for( ; i < len ; ++i ){
if( str[ i ] != symbol ){
list[ j ] += str[i];
}
else{
++ j;
}
}
*/ return list;
} // 通过画勾股定理直角三角形 ,求平面上2个坐标点之间的巨鹿
double distance ( int x1 , int y1 , int x2 , int y2 ) {
int x = , y = ;
double res = 0.0; x = abs( x2 - x1 ); // 直角三角形的 勾
y = abs( y2 - y1 ); // 直角三角形的 股 res = sqrt( x * x + y * y ) ; // 勾股定理 求 斜线
return res;
} // 求圆面积。 radius 半径
double circle_area( double radius ){
double pi = 3.1416 ;
return pi * radius * radius;
} // 从两点坐标,求圆的面积
double two_point_cacl_circle_area ( int x1 , int y1 , int x2 , int y2 ){
return circle_area( distance( x1 , y1 , x2 , y2 ) );
} // 阶乘,递归方式实现。
int jiecheng( int N ){
int res = ; // 先写1个,参数最小的情况的返回值
if( N == ){
res = ;
}
// 再写1个递归调用的情况。
else{
res = N * jiecheng( N - );
}
printf( "%d阶乘的结果:%d \n" , N , res );
// 完成递归。
return res; /*
我们从数学上严格证明一下factorial函数的正确性。
刚才说了,factorial(n)的正确性依赖于factorial(n-1)的正确性,
只要后者正确,在后者的结果上乘个n返回这一步显然也没有疑问,那么我们的函数实现就是正确的。 因此要证明factorial(n)的正确性就是要证明factorial(n-1)的正确性,
同理,要证明factorial(n-1)的正确性就是要证明factorial(n-2)的正确性, 依此类推下去,最后是:要证明factorial(1)的正确性就是要证明factorial(0)的正确性。 而factorial(0)的正确性不依赖于别的函数,它就是程序中的一个小的分支return 1;,
这个1是我们根据阶乘的定义写的,肯定是正确的,因此factorial(1)也正确,
因此factorial(2)也正确,
依此类推,最后factorial(n)也是正确的。 其实这就是中学时讲的数学归纳法(Mathematical Induction),
用数学归纳法来证明只需要证明两点:Base Case正确,递推关系正确。
*/
} // 递归方式,求2数的最大公约数
int digui_gongyueshu( int a , int b ){
int res = ;
if( a % b == ){
res = b;
}
else{
res = digui_gongyueshu( b , a % b );
}
return res; /*
1、编写递归函数求两个正整数a和b的最大公约数(GCD,Greatest Common Divisor),使用Euclid算法: 1. 如果a除以b能整除,则最大公约数是b。
2.否则,最大公约数等于b和a%b的最大公约数。 Euclid算法是很容易证明的,请读者自己证明一下为什么这么算就能算出最大公约数。
*/
} // 菲波那次数列
int fibonacci( int N ){
int res = ; if( N == || N == ){
res = ;
}
else{
res = fibonacci( N - ) + fibonacci( N - );
}
return res;
}

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

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

  1. 求平面上N点最远两点和最近两点距离

    最近两点,二分法 最远两点,凸包+找对踵点

  2. 求菲波那契数列的第n个数

    1,2,3,5,8,13..... 求第n个数 def get_num(n): if n == 1: return 1 if n == 2: return 2 return get_num(n - 1 ...

  3. 已知空间三点组成的面求该面上某点的Z值

    已知空间三点,那么可以就可以确定空间三点组成的平面.此时可以根据某一点的X值和Y值,来求取该点在平面上的Z值.这个过程对于求三角面片上某点的高程或者权值特别有用,其本身也可以看作一种线性插值. 其算法 ...

  4. 平面上画n条直线,最多能将平面分成多少部分?

    转自:http://blog.csdn.net/cywosp/article/details/6724522 在一个平面上画1999条直线,最多能将这一平面划分成多少个部分? 没有直线时有一个空间:( ...

  5. C语言程序设计100例之(12):Eratosthenes筛法求质数

    例12   Eratosthenes筛法求质数 问题描述 Eratosthenes筛法的基本思想是:把某范围内的自然数从小到大依次排列好.宣布1不是质数,把它去掉:然后从余下的数中取出最小的数,宣布它 ...

  6. 算法导论-求(Fibonacci)斐波那契数列算法对比

    目录 1.斐波那契数列(Fibonacci)介绍 2.朴素递归算法(Naive recursive algorithm) 3.朴素递归平方算法(Naive recursive squaring) 4 ...

  7. 求斐波那契数列的第n项

    问题描述:斐波那契数列是这样的一个数列,1,1,2,3,5,8,..,即前两项都是1,后面每一项都是其前面两项的和. 现在要你求出该数列的第n项. 分析:该问题是一个经典的数列问题,相信大家在很多语言 ...

  8. PHP MYSQL 搜索周边坐标,并计算两个点之间的距离

    搜索附近地点,例如,坐标(39.91, 116.37)附近500米内的人,首先算出“给定坐标附近500米”这个范围的坐标范围. 虽然它是个圆,但我们可以先求出该圆的外接正方形,然后拿正方形的经纬度范围 ...

  9. opencv利用hough概率变换拟合得到直线后,利用DDA算法得到直线上的像素点坐标

    图片霍夫变换拟合得到直线后,怎样获得直线上的像素点坐标? 这是我今天在图像处理学习中遇到的问题,霍夫变换采用的概率霍夫变换,所以拟合得到的直线信息其实是直线的两个端点的坐标,这样一个比较直接的思路就是 ...

随机推荐

  1. hadoop2.0初识1.1

    1.伪分布式hdfs文件系统的搭建(单节点文件系统) 1.1.根据上节的讲解,配置主机映射.jdk和解压hadoop压缩包 1.2.配置namenode 在/opt/modules/hadoop-2. ...

  2. winfrom的两种拖拽方式和界面阴影

    方式1private Point mouseOffset; //记录鼠标指针的坐标 private bool isMouseDown = false; //记录鼠标按键是否按下 private voi ...

  3. Zero Copy

    原文出处: http://www.ibm.com/developerworks/library/j-zerocopy/ 传统的I/O 使用传统的I/O程序读取文件内容, 并写入到另一个文件(或Sock ...

  4. 《BI那点儿事》双变量的相关分析——相关系数

    例如,“三国人物是否智力越高,政治就越高”,或是“是否武力越高,统率也越高:准备数据分析环境: SELECT * FROM FactSanguo11 WHERE 姓名 IN ( N'荀彧', N'荀攸 ...

  5. Scrum Meeting 3-20151203

    任务安排 姓名 今日任务 明日任务 困难 董元财 请假(明天是编译截至最后一天) 学习上拉加入新的listview 无 胡亚坤 请假(明天是编译截至最后一天) 设计优化聊天页面 无 刘猛 请假(明天是 ...

  6. sqlalchemy 优化count()……

    一.sqlalchemy 中的count() count()统计数据特别慢: session.query(cls).count()  8W 数据花费了近50s 但是在数据库中直接查询: select ...

  7. mysql简介

    1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数 ...

  8. 分部类(partial)

    一般来说,一个类.结构或接口位于一个源文件中,但某些情况,比如大型项目.特殊部署时,可能需要把一个类.结构或接口放在几个文件中来处理.等到编译时,自动把它们合起来,这就得应用 C# 分部类了. C# ...

  9. UNIX-LINUX编程实践教程->第八章->实例代码注解->写一个简单的shell

    一 分析 要实现一个shell,需包含3个步骤 1)读入指令 2)指令解析 3)执行指令 1 从键盘读入指令 从键盘读入指令的几个要点: 1)调用getc函数等待并获取用户键盘输入. 2)每一行命令的 ...

  10. Android开发--RelativeLayout的应用

    1.简介 relativeLayout为相对布局,它是新版本安卓的默认布局方式.相对布局可以设置一个部件相对于其他部件所在的位置,包括上下左右等等. 2.构建