栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-求数字n的所有约数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-求数字n的所有约数

题目
求数字n的所有约数
例如:
输入n=6,则输出 1,2,3,6
输入n=10,则输出1,2,5,10
输入n=16,则输出1,2,4,8,16
方法一:
public static void getDivisor01(int n) {
	for (int i = 1; i <= n; i++) {
		if (n % i == 0) {
			System.out.println(i);
		}
	}
}
方法一的优化
public static void getDivisor04(int n) {
	for (int i = 1; i * i <= n; i++) {
		if (n % i == 0 && i == n / i) {
			// 控制台打印 i ,只打印i,不打印(n/i)目的是为了去重
			//会出现重复值,所以在这里去重
			System.out.println(i);
		} else if (n % i == 0) {
			// 约数是成对出现的,所以当n%i==0时,i 和(n/i)都是约数
			System.out.println(i);
			System.out.println(n / i);
		}
	}
}
方法二:
public static void getDivisor05(int n) {
	HashSet set = new HashSet();
	for (int i = 1; i <= Math.sqrt(n); i++) {
		if (n % i == 0) {
			set.add(i);
			set.add(n / i);
			}
	}
	System.out.println(set);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号