#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 tw…
最近两点,二分法 最远两点,凸包+找对踵点…
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) + get_num(n - 2) def get_num(n): if n == 1: return 1 if n == 2: return 2 a = 1 b = 2 for i in range(n - 2): a, b = b, a + b return b分为递归和循环两个求法…
已知空间三点,那么可以就可以确定空间三点组成的平面.此时可以根据某一点的X值和Y值,来求取该点在平面上的Z值.这个过程对于求三角面片上某点的高程或者权值特别有用,其本身也可以看作一种线性插值. 其算法思路也特别简单,首先算出其三点组成的平面法向量(可参看<已知三点求平面法向量>);然后根据平面法向量\(n=(A,B,C)\)和平面上某点\(m=(x0,y0,z0)\),有平面的点法式方程: \[ A(X-x0)+B(Y-y0)+C(Z-z0)=0 \] 最后根据欲求点的X.Y值,代入公式解算Z…
转自:http://blog.csdn.net/cywosp/article/details/6724522 在一个平面上画1999条直线,最多能将这一平面划分成多少个部分? 没有直线时有一个空间:(1) 1条直线时,这条这些可以将这个空间分成两个:(1+1) 2条直线时,第二条直线可以和第一条直线相交,这样第二条直线可以将两个空间分成四个:(1+1+2) .... 注意到画每条直线时能增加多少个空间,取决于此直线从多少个空间中通过. 而从多少个空间中通过,取决于和多少条直线相交. 例如,在画第…
例12   Eratosthenes筛法求质数 问题描述 Eratosthenes筛法的基本思想是:把某范围内的自然数从小到大依次排列好.宣布1不是质数,把它去掉:然后从余下的数中取出最小的数,宣布它为质数,并去掉它的倍数.在第1步之后,得到质数2,筛中只包含奇数:第2步之后,得到质数3,一直做下去,当筛中为空时结束. 用Eratosthenes筛法求给定区间内的所有质数. 输入格式 两个整数a和b,其中1≤a≤b≤10000 输出格式 输出给定范围[a,b]间的所有质数,输出时每个质数占6列,…
目录 1.斐波那契数列(Fibonacci)介绍 2.朴素递归算法(Naive recursive algorithm) 3.朴素递归平方算法(Naive recursive squaring) 4 .自底向上算法(Bottom-up) 5. 递归平方算法(Recursive squaring) 6.完整代码(c++) 7.参考资料 内容 1.斐波那契数列(Fibonacci)介绍 Fibonacci数列应该也算是耳熟能详,它的递归定义如上图所示. 下面2-6分别说明求取Fibonacci数列的…
问题描述:斐波那契数列是这样的一个数列,1,1,2,3,5,8,..,即前两项都是1,后面每一项都是其前面两项的和. 现在要你求出该数列的第n项. 分析:该问题是一个经典的数列问题,相信大家在很多语言的教科书上都碰到过这个练习题目.这里我给大家总结了三种经典解法,并对这三个方法进行了对比. 解法一:递归算法.很多教科书上都用这个题作为函数递归知识点讲解的例题,我们可以将每一个项的求法表达为这样一个式子: f(n)=f(n-1)+f(n-2),f(1)=1,f(2)=1,可以看出,可以采用递归算法…
搜索附近地点,例如,坐标(39.91, 116.37)附近500米内的人,首先算出“给定坐标附近500米”这个范围的坐标范围. 虽然它是个圆,但我们可以先求出该圆的外接正方形,然后拿正方形的经纬度范围去搜索数据库.红色部分为要求的搜索范围,绿色部分为实际搜索范围. /** * 获取周围坐标 * Enter description here ... * @param unknown_type $lng 固定坐标经度 * @param unknown_type $lat 固定坐标纬度 * @para…
图片霍夫变换拟合得到直线后,怎样获得直线上的像素点坐标? 这是我今天在图像处理学习中遇到的问题,霍夫变换采用的概率霍夫变换,所以拟合得到的直线信息其实是直线的两个端点的坐标,这样一个比较直接的思路就是利用DDA算法来获取. 一.算法简介 DDA算法是计算机图形学中最简单的绘制直线算法.其主要思想是由直线公式y = kx + b推导出来的. 我们已知直线段两个端点P0(x0,y0)和P1(x1,y1),就能求出 k 和 b . 在k,b均求出的条件下,只要知道一个x值,我们就能计算出一个y值.如果…
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索“通过经纬度坐标计算距离的方法”,发现网上大部分都是如下的代码: #define PI 3.14159265 static double Rc = 6378137;  // 赤道半径 static double Rj = 6356725;  // 极半径 class JWD { public: double m_Longitude, m_Latitude; double m_RadLo, m_RadLa; double Ec; dou…
Area Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 225    Accepted Submission(s): 77 Problem Description 电子科大清水河校区是电子科大大力兴建的未来主校区,于07年秋正式迎接学生入住,目前有07.08级本科生及部分研究生在此校区学习.生活.清水河校区位于成都高新西区的中部地带,占…
一,求最大,最小值 int[] a={21,31,4,2,766,345,2,34}; //这里防止数组中有负数,所以初始化的时候给的数组中的第一个数. int max=a[0]; int min=a[0]; for (int i = 0; i < a.length; i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } System.out.println("最大的数是:"+max); System.out.p…
import java.text.DecimalFormat;import java.util.Scanner; public class TheAreaOfCircle { public static void main(String[] args) { /*问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请…
/** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( 101 , 202 ) * @param array $point_2 第2个点的x,y坐标 array( 101 , 202 ) * @param bool $calc_as_string 是否计算为字符串公里距离 , 如果未否返回数字 * @return float | false | str…
 /// <summary>         ///  p点到(a,b)点两所在直线的垂点坐标         /// </summary>         /// <param name="a">直线上a点</param>         /// <param name="b">直线上b点</param>         /// <param name="p">…
清明在家,无聊,把一些经典的算法总结了一下. 一.求最大,最小值 Scanner input=new Scanner(System.in); int[] a={21,31,4,2,766,345,2,34}; //这里防止数组中有负数,所以初始化的时候给的数组中的第一个数. int max=a[0]; int min=a[0]; for (int i = 0; i < a.length; i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i…
//C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleTest { class Program { static void Main(string[] args) { OutPut4(); } //方法1,使用while循环 public static vo…
[题目描述] 我们知道斐波那契数列0 1 1 2 3 5 8 13…… 数列中的第i位为第i-1位和第i-2位的和(规定第0位为0,第一位为1). 求斐波那契数列中的第n位mod 10000的值. [分析] 这是我们熟悉的斐波那契数列,原来呢我们是递推求值的嘛,当然这是最水的想法~~可是!这里的n很大诶,有10^9,for一遍肯定是不可以的咯. 于是,我学会了用矩阵乘法求斐波那契数列(貌似是很经典的). 作为初学者的我觉得十分神奇!! 好,我们来看: 我们每次存两个数f[i-1]和f[i-2],…
.获得用户的输入 计算      3打印就行了.   这里用到了java.util.Scanner   具体API  我就觉得不常用.解决问题就ok了.注意的是:他们按照流体的方式读取.而不是刻意反复读取 自己写的代码: package com.itheima; import java.util.Scanner; public class Test3 { /** * 3.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55 * * @author…
class class1 { public static void Main(string[] args) { //使用多态求矩形面积与周长和圆的面积与周长 Shape cl = ); double clarea = cl.GetArea(); double clpar = cl.GetPerimeter(); Console.WriteLine(), Math.Round(clpar, )); Shape sq = , ); double sqarea = sq.GetArea(); doub…
题目链接:点击打开链接 题意: 给定二维坐标上的4个点 问: 找一个点使得这个点距离4个点的距离和最小 输出距离和. 思路: 若4个点不是凸4边形.则一定是端点最优. 否则就是2条对角线的交点最优,能够简单证明一下. 对于凸4边形则先极角排序一下. #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; typedef do…
本节主要说了递归的设计和算法实现,以及递归的基本例程斐波拉契数列.strlen的递归解法.汉诺塔和全排列递归算法. 一.递归的设计和实现 1.递归从实质上是一种数学的解决问题的思维,是一种分而治之的思想. 这个是常见的一种数学算法,其实它就是递归的本质.我们要求的是所有数的乘积,那么我们就先求出两个数的乘积,然后再根据这两个数的乘积去求第三个数的乘积,这样每一次我们实际上都是进行的两个数的相乘,也就是我们把一个很多个数的相乘转换为了两个数的相乘. 2.通过上面的例子可以发现,递归就是将大型复杂问…
题目是Go指南中的闭包求斐波那契数列 package main import "fmt" // 返回一个"返回int的函数" func fibonacci() func() int { var last = 0 var cur = 1 var count = 0 return func() int { return func() int { switch count { case 0: count += 1 return 0 case 1: count += 1 r…
一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述. 与switch语句可以选择任何可使用相等比较的条件相比, select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,大致的结构如下: select { case <-chan1: // 如果chan1成功读到数据,则进行该case处理语句…
5152. Brute-force Algorithm EXTREME Problem code: BFALG Please click here to download a PDF version of the contest problems. The problem is problem B in the PDF. But the data limits is slightly modified: 1≤P≤1000000 in the original description, but i…
#给一个半径,求圆的面积和周长,圆周率3.14 r = int(input('r=')) print('area='+str(3.14*r*r)) print('circumference='+str(2*3.14*r))…
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <p>斐波那契数列:1,1,2,3,5,8,13,21,34,55,89,144........... </p> <p>求斐波那契数列第n项的值</p> </body&…
Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序.它是以 前的 StringTokenizer 和 Matcher 类之间的某种结合.由于任何数据都必须通过同一模式的 捕获组检索或通过使用一个索引来检索文本的各个部分.于是可以结合使用正则表达式和从 输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外, Scann输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外, 1.斐波那契数列 Java中Scanner类这是一个…
C 语言实例 - 斐波那契数列 斐波那契数列指的是这样一个数列 , , , , , , , , , , , , ,,,,,,,,,,,........ 这个数列从第3项开始,每一项都等于前两项之和. 实例 - 输出指定数量的斐波那契数列 #include <stdio.h> int main() { , t2 = , nextTerm; printf("输出几项: "); scanf("%d", &n); printf("斐波那契数列:…