求两个正整数的最大公约数是一个很古老且很基本的问题,欧几里得在其著作《几何原本》中给出了高效的解法——辗转相除法,也叫做欧几里得算法。下面我们来看下求最大公约数的一些方法。
方法一
我们先来看欧几里得的辗转相除法。原理很简单,假设用f(x,y)表示x和y的最大公约数,我们令x>y,则有x=ky+b,如果一个数能够同时整除x和y,则必能同时整除b和y,而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数相同,因此二者的最大公约数也相同,则有f(x,y)=f(y,x%y),一...
分类:
其他好文 时间:
2014-06-20 11:10:03
阅读次数:
191
拥有c背景的程序员一定熟悉传统的除法,也就是说,对整形操作数,会执行“地板除”(floor,
取比商小的最大整型)。例如5除以2等于2.5,其中“2”就称为商的地板;即“地板除”的结果;传统除法:
如果是整型除法,传统除法会舍去小数部分,返回一个整形(地板除),如果操作数之一是浮点型;则执行真...
分类:
编程语言 时间:
2014-06-11 12:34:12
阅读次数:
293
说明
本文内容取自作者就读研究生期间在实验室工作时,从导师和师兄师姐处接受的谆谆教诲。点滴琐碎,还请见谅。正文1. 导师的教诲
模块化编程,由基本功能扩展,由小函数“垒”成大程序。 一个模块一个模块调试,用“排除法”找到问题的根源。 “特殊值试探”,如赋给某一确定输入观察输出是否合理。
开...
分类:
其他好文 时间:
2014-06-11 09:29:43
阅读次数:
275
package chap04_Divide_And_Conquer;import static
org.junit.Assert.*;import java.util.Arrays;import org.junit.Test;/** * 矩阵相乘的算法 *
* @author xiaojintao....
分类:
其他好文 时间:
2014-06-09 16:12:24
阅读次数:
273
一、常用的SSRS原始函数可以打开文本框的表达式中看到,如图1
图1如下为SSRS中设计报表时常用的运算函数:运算符/函数说明+前后位数字则为加法,前后为字符串则为链接符号 -数值减法*乘法/除法,例如:100/33 =
33.333....
分类:
其他好文 时间:
2014-06-09 14:51:13
阅读次数:
261
近期整理下很久前写的程序,这里就把它放在博文中了,有些比较简单,但是很有学习价值。下面就是自己很久前实现的复数重载代码,这里没有考虑特殊情况,像除法中,分母不为零情况。#include
/*#include #include#include#include#include*/using namesp...
分类:
编程语言 时间:
2014-06-08 21:20:09
阅读次数:
316
A Simple Math ProblemTime Limit: 3000/1000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
2441Accepted Submission(s): 1...
分类:
其他好文 时间:
2014-06-08 20:33:48
阅读次数:
175
Implement
pow(x,n).要点:1、注意n是正数还是负数2、当n是负数时,注意n最小值时的处理方法:INT_MIN的绝对值比INT_MAX大1;3、当n为0时,任何非零实数的0次方都是14、尽量使用移位运算来代替除法运算,加快算法执行的速度。5、x取值为0时,0的正数次幂是1,而负数次幂...
分类:
其他好文 时间:
2014-06-06 15:52:27
阅读次数:
274
乘法口诀//com.js/*1: 十几乘十几 口诀:头乘头,尾加尾,尾乘尾。 例如:
12x12=? 运用口诀: 1,头乘头 1x1=1 2,尾加尾 2+2=4 3,尾乘尾 2x2=4 ...
分类:
其他好文 时间:
2014-06-06 07:43:10
阅读次数:
579
操作符:// 用作浮点除法(对结果四舍五入)和 ** 表示乘方 eg:
2**5=32python不支持C中的自增和自减操作,eg: ++i 和 i++ 的结果都为 iraw_input()方法程序输入,所返回的值为 字符串
类型,数值须进行强制类型转换 eg:int()print()会默认为每一行...
分类:
编程语言 时间:
2014-06-05 18:37:25
阅读次数:
299