拓展欧几里得java代码 欧几里得算法框图流程
求一个用java编写的1到100内的素数,并且每行输出5个素数
public class Test {
创新互联建站是专业的鼓楼网站建设公司,鼓楼接单;提供成都网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行鼓楼网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
public static void main(String[] args) {
int i, count = 0;
for(i=2; i=100; i++){
if(isPrimeNumber(i) == true){
count++;
System.out.printf("%6d", i);
if(count%5 == 0){
System.out.println();
}
}
}
//判断一个数是否是素数,若是,返回true,否则返回false
public static boolean isPrimeNumber(int num){
int k = (int) Math.sqrt(num);
if(num == 2){
return true;
for(int i=2; i=k; i++)
if(num%i == 0)
return false;
return true;
}
}
扩展:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,
是素数或者不是素数。
如果
为素数,则
要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。
如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。
其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。
java编程:用欧几里德辗转相除法求两个正整数的最大公约数
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int res = gcd(8, 6);
System.out.println(res);
}
private static int gcd(int i, int j) {
int m, n, r;
// 使mn
if (i j) {
m = i;
n = j;
} else {
m = j;
n = i;
}
// 通过辗转除来求的最大公约数
r = m % n;
while (r != 0) {
m = n;
n = r;
r = m % n;
}
// 返回最大公约数
return n;
}
}
关于欧几里得距离的c++代码
float x, y;
float xp, yp;
cin xp;
cin yp;
do
{
x = xp; // 这样每次循环返回第一步,就将x'赋值给x了
y = yp; // 同上
//执行算法
} while (fabs(xp-x)=0.001 || fabs(yp-y)=0.001)
cout "x' = " xp;
cout "y' = " yp;
如何用大整数的方法编写欧几里得算法java代码实现
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a, b;
a = scanner.nextInt();
b = scanner.nextInt();
System.out.printf("%d和%d的最大公约数为:%d", a, b, Gcd(a, b));
}
private static int Gcd(int M, int N) {
int Rem;
while (N 0) {
Rem = M % N;
M = N;
N = Rem;
}
return M;
分享名称:拓展欧几里得java代码 欧几里得算法框图流程
网页路径:http://myzitong.com/article/ddepsso.html