华为OJ 初级:iNOC产品部--完全数计算
2016-07-30 11:17
225 查看
描述 | 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000返回n以内完全数的个数。异常情况返回-1 /** * * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 * 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 * 例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。 * * 给定函数count(int n),用于计算n以内(含n)完全数的个数 * @param n 计算范围, 0 < n <= 500000 * @return n以内完全数的个数, 异常情况返回-1 * */ public static int count(int n) |
---|---|
知识点 | 字符串 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入一个数字 |
输出 | 输出完全数的个数 |
样例输入 | 1000 |
样例输出 | 3 |
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); System.out.println(count(n)); } private static boolean isNum(int n) { int sum = 0; for (int i = 1; i < n; i++) { if (n % i == 0) sum += i; } if (sum == n) return true; else return false; } private static int count(int n) { if (n <= 0 || n > 500000) return -1; int count = 0; for (int i = 1; i <= n; i++) if (isNum(i)) count++; return count; } }
相关文章推荐
- 华为oj 初级 iNOC产品部--完全数计算
- 华为OJ——iNOC产品部--完全数计算
- 华为OJ——iNOC产品部--完全数计算
- 华为OJ——iNOC产品部--完全数计算
- 华为oj_iNOC产品部--完全数计算
- [华为OJ--C++]036-iNOC产品部–完全数计算
- 华为oj iNOC产品部--完全数计算
- 【华为OJ】iNOC产品部--完全数计算
- 华为oj inoc产品部--完全数计算
- 华为OJ基础篇-iNOC产品部–完全数计算
- 【华为OJ】【036-iNOC产品部--完全数计算】
- 华为机试:iNOC产品部--完全数计算、杨辉三角的变形
- 华为oj 初级 iNOC产品部-杨辉三角的变形
- 华为oj初级 计算字符个数
- [编程题]iNOC产品部--完全数计算
- 华为oj iNOC产品部-杨辉三角的变形
- iNOC产品部--完全数计算
- 【华为OJ】【038-iNOC产品部-杨辉三角的变形】
- [华为OJ--C++]038-iNOC产品部-杨辉三角的变形
- [华为oj]iNOC产品部-杨辉三角的变形