数论
无心流泪
这个作者很懒,什么都没留下…
展开
-
uestc oj 1793 Kalindrome
DescriptionA palindromic number is a number that remains the same when its digits are reversed. Like 16461, for example, it is "symmetrical".Now Krolia want to know the Kth-largest palindromic num原创 2013-03-12 13:51:11 · 1291 阅读 · 1 评论 -
poj 2398 叉积判断点位置
今天起开始进攻计算几何题目~第一题……Rumtime了2次(某变量下标出错),WA了1次(输出排序出错……)郁闷,我明明都已经很仔细检查代码了。题目貌似有点长,我稍微解释一下。题意是在一个箱子里面加n个木板把箱子隔成几个空间,之后有m个玩具随机落入这几个空间里面。(木板不相交)最后统计有t个玩具的空间有多少个(t>0)题解:由于题目说了木板不相交的,原创 2013-07-04 00:40:56 · 1187 阅读 · 0 评论 -
关于判断点是在线段的左侧还是右侧还是在线段上的算法
这个问题的判定可以通过向量叉积来解决设要判断点P(x,y) 是在线段AB的哪侧 A(x1,y1) B(x2,y2)的那个方向建造两个向量PA 与PB 则 PA(x1-x,y1-y) PB(x2 -x,y2-y)则二者叉乘 x1y2 - x2y1 如果小于0在左边 大于0在右边等于0 在直线上原创 2013-07-04 00:39:54 · 8711 阅读 · 3 评论 -
向量 - 向量叉乘 向量点乘
http://blog.csdn.net/zxj1988/article/details/6260576向量 - 向量叉乘 向量点乘2010年07月28日 星期三 14:33向量(Vector)在几乎所有的几何问题中,向量(有时也称矢量)是一个基本点。向量的定义包含方向和一个数(长度)。在二维空间中,一个向量可以用一对x和y来表示。例如由点(1,3)到(5,1的转载 2013-07-04 01:00:55 · 2406 阅读 · 1 评论 -
凸包算法
http://blog.csdn.net/foreverlin1204/article/details/6221986 其实这个算法是在一年前得某场比赛中临时抱佛脚学的,今天重新的来温习了一遍如何来理解凸包?一组平面上的点,求一个包含所有点的最小的凸多边形,这就是凸包问题了。这可以形象地想成这样:在地上放置一些不可移动的木桩,用一根绳子把他们尽量紧地圈起来,这就是凸包了,转载 2013-07-03 15:53:56 · 2600 阅读 · 0 评论 -
二分查找(折半查找)
下面给出自己书写的折半查找代码#includeusing namespace std;int a[100];int n,goal;int binarySearch(int x){ int l=0,r =n-1; int mid; while(l<=r) { mid = (l+r)/2; if(a[mid] == x) r原创 2013-07-03 22:49:25 · 973 阅读 · 0 评论 -
poj 2318 TOYS
http://blog.csdn.net/qinmusiyan/article/details/8041576TOYSTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 7904 Accepted: 3736DescriptionCalcu转载 2013-07-03 15:50:14 · 834 阅读 · 0 评论 -
求解1-100以内约数个数是12个的数 (已知共有5个)
求解1-100以内约数个数是12个的数 (已知共有5个)#include "iostream"#include "stdio.h"int get_yueshu_number(int a){ int ps=0; for(int j=1;j<=a;j++) { if(a%j==0) {转载 2013-07-02 19:30:31 · 1608 阅读 · 0 评论 -
有理数
有理数整数可以看作分母为1的分数。正整数、0、负整数、正分数、负分数都可以写成分数的形式,这样的数称为有理数(rational number)。所有的数不一定都是有理数概况整数和分数的统称。正整数和正分数合称为正有理数,负整数和负分数合称为负有理数。因而有理数集的数可分为正有理数、负有理数和零3种数。由于任何一个整数或分数都可以化为十进循环小数,反之,每一个十进原创 2013-10-03 11:57:44 · 1434 阅读 · 0 评论 -
向量的叉积
向量的叉积性质都忘完了……但是它可以用来判断点在直线的某侧。进而可以解决点是否在三角形内,两个矩形是否重叠等问题。向量的叉积的模表示这两个向量围成的平行四边形的面积。 设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P×Q = x1*y2 - x2*y1,其结果是一个伪矢量。原创 2013-07-03 14:46:12 · 1896 阅读 · 0 评论 -
关于求最大公约数和最小公倍数的的算法
#includeint main(){ int a,b,num1,num2,temp; printf("请输入两个整数:\n"); scanf("%d %d",&num1,&num2); if(num1<num2)/*交换两个数,使大数放在num1上*/ { temp=num1; num1=num2; num2=temp; } a=原创 2013-07-02 22:26:15 · 998 阅读 · 0 评论 -
uestc oj 1761 船长多少岁
#include#includeint T,cow,sheep,cow_one,sheep_one,res,sum;int main(){ //freopen("1.txt","r",stdin); scanf("%d",&T); while(T--) { res = 21; scanf("%d%d%d%d",&原创 2013-07-02 01:37:02 · 877 阅读 · 0 评论 -
POJ 1426 —— Find The Multiple
描述Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and th原创 2013-03-22 23:19:15 · 1580 阅读 · 1 评论 -
世界上最神奇的数字 算法求解
一个自然数的数位打乱之后,重新组成一个自然数,则称这两个数为相同组合数,如果一个数的2倍数,3倍数,。。。。。6倍数都是这个数的相同组合数,我们则称这个数是神奇的数,其中自然数中最小的神奇的数就称为这个世界上最神奇的数,现在编写算法求解世界上最神奇的数。#include#includeusing namespace std;int c1[10];int c2[10];int i,j;b原创 2013-04-08 23:59:00 · 1932 阅读 · 0 评论 -
uestc oj 1151 The simple problem
A Simple ProblemTime Limit: 1000 ms Memory Limit: 65535 kB Solved: 96 Tried: 449Submit Status Best Solution BackDescriptionGiven a nonnegative integer a, and a positive integer N, we define:f(a原创 2013-04-12 10:41:17 · 1169 阅读 · 0 评论 -
判断素数的函数
基础数论知识:一个整数不能整除他的平方数之内的整数就是素数#include #include #include using namespace std;int isprime(int x){ int i,m; assert(x >= 0); //利用宏来限制非法输入 if(x == 1) return 0; m = floor(sqrt(x) + 0.5);//+0.5以原创 2013-04-12 10:35:54 · 2177 阅读 · 0 评论 -
uestc oj 1869 Everyone out of the Pool
这个题目其实感觉是一道数论的题目,因为有时间限制,如果强行搜索必然导致TLE本题在解答的时候主要困难在于边界条件的确定#include#includeusing namespace std;int n,m,num,start,end;int cas = 0;int a[20];void find(int a1,int a2){ int i; for原创 2013-06-03 00:44:47 · 1105 阅读 · 0 评论 -
关于因式分解的算法描述
下面给出一个求解一个数因数分解的算法:#include #includeusing namespace std;bool isPrime(int n){ int i; if(n==2) return true; for(i=2;i<sqrt(n)+1;i++) { if(n%i==0) return false; } re原创 2013-07-02 19:08:13 · 1160 阅读 · 0 评论 -
leetcode -- Single Number II
http://www.cnblogs.com/feiling/p/3351379.htmlGiven an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime c转载 2013-10-05 14:43:11 · 1960 阅读 · 0 评论