`
ybhuxiao
  • 浏览: 192455 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

陆续收集一些简单算法的实现

    博客分类:
  • java
阅读更多
本文算法均从网络中收集
	/**
	 * <p>功能描述:求一个四位数,使它等于它的四个数字和的四次方</p>
	 * 
	 * @param args
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午07:36:34 <BR>
	 */
	public static void main(String[] args) {
		int a, b, c, d, e;
		for (int i = 1000; i < 10000; i++) {
			a = i % 10;
			b = i / 10 % 10;
			c = i / 100 % 10;
			d = i / 1000;
			e = a + b + c + d;
			if (e * e * e * e == i) {
				System.out.println("满足条件的数字:" + i);
			}
		}
	}


	/**
	 * <p>功能描述:满足这个条件的五位数,abcdef = a^5 + b^5 + c^5 + d^5 + e^5</p>
	 * 
	 * @param args
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午07:46:32 <BR>
	 */
	public static void main(String[] args) {
		int m, s, a, b, c, d, e;
		// s = Integer.parseInt(args[0]);
		s = 99999;
		if (s >= 10000 && s <= 99999) {
			System.out.println("小于该数的梅花数有:");
			for (m = 10000; m < s; m++) {
				a = m % 10;
				b = m / 10 % 10;
				c = m / 100 % 10;
				d = m / 1000 % 10;
				e = m / 10000;
				if (m == a * a * a * a * a + b * b * b * b * b + c * c * c * c * c + d * d * d * d * d + e * e * e * e * e) {
					System.out.println(m);
				}
			}
		}
	}


	/**
	 * <p>功能描述:输出100内的素数</p>
	 * 
	 * @param args
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午07:57:54 <BR>
	 */
	public static void main(String[] args) {
		int s = 0;
		int i;
		for (i = 0; i <= 100; i++) {
			int j;
			for (j = 2; j <= i; j++) {
				if (i % j == 0)
					break;
			}
			if (i == j)
				System.out.println(i);
		}
	}



	public static void main(String[] args) {
		System.out.println(isPrime(97));
	}

	/**
	 * <p>功能描述:判断是否是素数</p>
	 * 
	 * @param n
	 * @return
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午08:02:56 <BR>
	 */
	public static boolean isPrime(int n) {
		// filte negative, zero, one    
		if (1 >= n) {
			return false;
		}
		// 2 is a prime, stop filter    
		if (2 == n) {
			return true;
		}
		// filter evens 
		if (0 == n % 2) {
			return false;
		}
		// go on filting...    
		for (int a = 3; a <= Math.sqrt(n); a += 2) {
			if (0 == n % a) {
			return false;
			}
		}
		// the rest is all prime, stop filting    
		return true;
	}


	public static void main(String[] args) {
		System.out.println(isPrime(97));
	}

	/**
	 * <p>功能描述:判断是否是素数</p>
	 * 
	 * @param n
	 * @return
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午08:04:55 <BR>
	 */
	public static boolean isPrime(int n) {
		for (int i = 2; i * i <= n; i++) {
			if (n % i == 0)
				return false;
		}
		return true;
	}


	public static void main(String[] args) {
		System.out.println(isPrime(97));
	}

	/**
	 * <p>功能描述:判断是否是素数</p>
	 * 
	 * @param n
	 * @return
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午08:09:48 <BR>
	 */
	public static boolean isPrime(int n){
	    int i ;
	    for(i=2; i <= Math.sqrt(n); i++){
	        if(n%i == 0 ){
	        	break ;
	        }
	    }
	    return i > Math.sqrt(n);
	}



	/*
通常每4年里有3个平年,1个闰年。公历年份是4的倍数的一般是闰年,公历年份是整百数的,必须是400的倍数才是闰年。这是因为地球绕太阳旋转一周的时间,根据精确测定,约为365天5小时48分46秒。按一年365天(平年)计算,累计4年大约少算一天;把这一天加在2月里,这一年就是366天(闰年)。但这样一算,每4年又多算了44分56秒,每400年就要多算3天2小时53分20秒,所以就规定了公历年份是整百数的必须是400的倍数才是闰年。
	*/
	public static void main(String[] args) {
		System.out.println(isLeapYear(1997));
	}

	/**
	 * <p>功能描述:判断是否是闰年</p>
	 * 
	 * @param year
	 * @return
	 * @author 胡晓 <BR> kskr@qq.com <BR>
	 * 时间:2010-3-17 上午08:16:39 <BR>
	 */
	public static boolean isLeapYear(int year) {
		return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
	}


	/*
	约瑟夫环(出圈):是一个数学的应用问题。
	
	已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

	*/






判断一个数是不是2的N次方,这个是EE出的题,想了半天,java里面有一个Integer.toBinaryString(int i)来转成二进制,如果是2的N次方的话,那么这个数字应该是首位为1,其他位为0。那么该数减一,就所有首位为0,其他位为1,这两个数字按位与,就会得到0。

另外0按位与-1也是0,这个要排除
1 & 0虽然不是上面的规律,但是1 & 0 也是0,所以适用该算法

所以加一个i > 0做判断就够了
	public static boolean testIndicial(int i) {
		return i > 0 && (i & i - 1) == 0;
	}




------------to be continued

兔子,迷宫,汉诺塔,出圈,简单的加解密,SSL
1
2
分享到:
评论

相关推荐

    C++ 就简单算法实现大全

    《C++ 就简单算法实现大全》是一本针对C++初学者和爱好者编写的书籍,旨在帮助读者快速掌握C++编程基础并理解并实践各种基本算法。C++是一种强大而灵活的面向对象编程语言,被广泛应用于软件开发、游戏编程、系统...

    神经网络算法实现.zip

    神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络算法实现神经网络...

    AES-GCM算法实现code

    主要是aes-gcm算法实现的code,详细描述gcm算法的各部分实现过程

    Rust算法手册:收集了各种算法在Rust语言中的实现,涵盖了广泛的算法领域

    收集了各种算法在Rust语言中的实现,涵盖了广泛的算法领域。它是学习和使用Rust编程语言进行算法开发的宝贵资源。

    典型密码算法C语言实现_附录代码

    典型密码算法及其C语言实现共13章节,详细讲述了一些典型密码算法的算法原理及C语言实现。密码算法包括:序列密码、分组密码、公钥密码和Hash算法。其中序列密码有祖冲之算法,分组密码有DES、3DES和SMS4算法,公钥...

    美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化

    美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化 美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化 ...

    进程管理和调度的算法实现

    内容描述: (1)设计进程控制块PCB表结构,分别适用于优先权调度算法和时间片轮转调度算法。 PCB结构中一般包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态...通过VC++6.0实现!

    java国密算法实现

    这些算法在保护信息安全、实现数据加密、数字签名等方面发挥着重要作用,尤其在国内的金融、政府、电信等领域广泛应用。 SM2算法是一种基于椭圆曲线密码学(ECC)的公钥加密算法,它包含了公钥加密、密钥交换和数字...

    几个推荐算法的java实现

    本项目提供了一些推荐算法的Java实现,包括slopeone、SVD(奇异值分解)以及基于物品邻接的SVD(ItemNeighborSVD)。下面我们将详细探讨这些算法及其在Java中的实现。 1. **slopeone**: - Slope One是一种简单的...

    毕业设计:最短路径算法实现,Dijkstra算法,双向Dijkstra算法,CH算法,SILC算法.zip

    毕业设计:最短路径算法实现,Dijkstra算法,双向Dijkstra算法,CH算法,SILC算法 毕业设计:最短路径算法实现,Dijkstra算法,双向Dijkstra算法,CH算法,SILC算法 毕业设计:最短路径算法实现,Dijkstra算法,双向...

    用BP算法实现神经网络.zip

    用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络用BP算法实现神经网络...

    项目实战-朴素贝叶斯算法实现新闻分类源码及数据集.zip

    1、内容概要:本资源主要基朴素贝叶斯算法实现新闻分类,适用于初学者学习文本分类使用。 2、新闻分类源码实现过程:将数据集划分为训练集和测试集;使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将...

    算法竞赛入门经典——算法实现.docx

    在竞赛中,通常会提供一些实际问题或挑战,要求参赛者设计和实现最优算法来解决这些问题。 算法竞赛的重要性主要体现在以下几个方面。首先,算法竞赛可以提高参赛者的算法设计和实现能力。在竞赛过程中,参赛者需要...

    matlab实现蚁群算法实现路径规划.zip

    matlab实现蚁群算法实现路径规划.zip 带说明文档matlab实现蚁群算法实现路径规划.zip 带说明文档matlab实现蚁群算法实现路径规划.zip 带说明文档matlab实现蚁群算法实现路径规划.zip 带说明文档matlab实现蚁群算法...

    ACM集训、国赛、美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化

    ACM集训、国赛、美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法、神经网络算法等)实现和优化 ACM集训、国赛、美赛算法实现,各种智能算法(遗传算法、模拟退火算法、蚁群算法、粒子算法...

    各神经网络与算法实现.zip

    各神经网络与算法实现各神经网络与算法实现各神经网络与算法实现各神经网络与算法实现 各神经网络与算法实现各神经网络与算法实现各神经网络与算法实现 各神经网络与算法实现各神经网络与算法实现各神经网络与算法...

    模型算法大全(20+种常用算法模型+代码实现)

    模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+代码实现)模型算法大全(20+种常用算法模型+...

    基于MapReduce实现决策树算法

    7. MapReduce框架在决策树算法中的限制:基于MapReduce实现决策树算法也存在一些限制,例如对输入数据的规模和复杂度的限制,对决策树算法的计算速度和效率的限制等。 8. 基于MapReduce实现决策树算法的优点:基于...

    一个简单的dh加密算法实现

    简单的DH加密算法程序,采用C语言实现,权当学习资料使用; 一共7个函数,加上一个主程序实现; 不用makefile文件编写,直接一个文件编译执行

Global site tag (gtag.js) - Google Analytics