输入一个整数
。
输出一个整数,代表区间内完全数的个数。
1000
3
第一个完全数是
,因为
的约数有
,去除本身后,剩余约数之和为
。
第二个完全数是
,因为
的约数有
,去除本身后,剩余约数之和为
。
import java.util.Scanner; import java.util.HashSet; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int count = 0; for (int i = 1; i <= n; i++) { int sum = 0; for (int j = 1; j <= i / 2; j++) { if (i % j == 0 && i != j) { sum += j; } } if (sum == i) { count++; } } System.out.println(count); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int number = in.nextInt(); int count = 0; for (int i = 1; i <= number; i++) { int sum = 0; for (int j = 1; j <= i / 2; j++) { if (i % j == 0) { sum += j; } } if (i == sum) count++; } System.out.println(count); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); int count = 0; // 遍历小于等于n的数 for (int i = 1; i <= n; i++) { int sum = 0; // 计算因数之和 for (int j = 1; j <= i / 2 ; j++) { if (i % j == 0) { sum += j; } } //因数之和等于本身+1 if (sum == i) { count++; } } System.out.println(count); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int num = in.nextInt(); int count = 0; for(int i =2; i<=num; i++) { //遍历n //求i的约数,存于数组中 int arr[] = new int[i/2]; for(int j=1,n=0; j<=i/2; j++) { if(i%j == 0) { arr[n] = j; n++; } } //遍历数组求和,判断是否==i int sum = 0; for(int x = 0; x < arr.length; x++) { sum = sum + arr[x]; } if(sum == i) { count++; } } System.out.println(count); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); if(a < 6) System.out.println("0"); else if(a<28) System.out.println("1"); else if(a<496) System.out.println("2"); else if(a<8182) System.out.println("3"); else System.out.println("4"); } } }
import java.util.*; import java.util.stream.Collectors; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int total = in.nextInt(); List<Integer> totalList = new ArrayList<>(total); for (int i = 1; i < total; i++) { totalList.add(i); } List<Integer> resultList = totalList.stream().map(item-> { List<Integer> yues = new ArrayList<>(item); for (int i = 1; i < item; i++) { if (item % i == 0) { yues.add(i); } } if (yues.stream().reduce(0, Integer::sum) == item) { return item; } else { return 0; } }).filter(item -> item != 0).collect(Collectors.toList()); System.out.println(resultList.size() + 1); } }
import java.util.Scanner; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = null; while ((line = br.readLine()) != null) { int number = Integer.parseInt(line); int count = 0; for (int i = 2; i <= number; i++) { int sum = 0; for (int j = 1; j <= Math.sqrt(i); j++) { if (i % j == 0) { sum += j; if (i / j != i) { sum += i / j; } } } if (i == sum) { count++; } } System.out.println(count); } } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int num=in.nextInt(); int sum=0; for(int i=1;i<=num;i++){ if(getResult(i)==i){ sum++; } } System.out.print(sum); } public static int getResult(int num){ int sum=0; for(int i=1;i<num;i++){ if(num%i==0){ sum+=i; } } return sum; } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int count = 0; for(int i = 2; i <= n; i++){ if(isPerfect(i)) count++; } System.out.print(count); } public static boolean isPerfect(int num){ int sum = 0; for(int i = 2; i*i <= num ; i++){ if(num % i == 0){ sum += i; if(num / i != i){ sum += (num/i); } } } sum++; return sum == num; } }
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int count=0; for(int i=2;i<=n;i++){ if(isPerfect(i)) count++; } System.out.println(count); } } public static boolean isPerfect(int num){ ArrayList<Integer> list = new ArrayList<>(); for(int k=1;k<=num/2;k++){ if(num%k==0){ list.add(k); } } int sum=0; for(int a:list){ sum+=a; } if(sum==num) return true; return false; } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int count = 0; for (int i = 1; i <= a; i++) { if (wanquanshu(i)) { count++; } } System.out.println(count); } } private static boolean wanquanshu(int a) { int sum = 0; int len = a / 2; for (int i = 1; i <= len; i++) { if (a % i == 0) { sum += i; } } if (sum == a) return true; else return false; } }
/** * @author YXQ * @create 2022/8/22 17:05 */ import java.util.Scanner; /** * HJ56 完全数计算 * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 * 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 * 例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。 * 输入n,请输出n以内(含n)完全数的个数。 * * 输入描述: * 输入一个数字n * 输出描述: * 输出不超过n的完全数的个数 * *输入: * 1000 * 输出: * 3 */ public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); System.out.println(getPefectNum(n)); } public static int getPefectNum(int n){ int res=0; if(n==1)return 0; for(int i=2;i<=n;i++){ int sum=1; for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){ // 注意不要把开平方的两个数都加进来了 if(Math.abs(Math.sqrt(i)-j)<Double.MIN_VALUE){ sum+=(i/j); }else{ sum+=(i/j+j); } } } if(sum==i)res++; } return res; } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int count = 0; for(int i = 1; i <= num; i++){ if(isPerfectNumber(i)){ count++; } } System.out.println(count); } public static boolean isPerfectNumber(int num){ int sum = 0; for(int i = 1; i < num; i++){ if(num % i == 0){ sum += i; } } return sum == num; } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int br = Integer.parseInt(scanner.nextLine()); int count = 0; int sum = 0; for(int i = 0;;i++){ boolean ifContinue = false; sum += Math.pow(2, i); if (sum * Math.pow(2, i) > br){ break; } for(int j = 2; j < Math.sqrt(sum) + 1; j++){ if(sum % j == 0){ ifContinue = true; break; } } if(ifContinue ){ continue; } count++; } System.out.println(count - 1); } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int num = sc.nextInt(); int count = 0; for (int i = 2; i <= num; i++) { int temp = 0; List<Integer> array = new ArrayList<>(); for (int j = 1; j < i; j++) { if (i % j == 0) { array.add(j); } } for (Integer t : array) { temp += t; } if (temp == i) { count += 1; } } System.out.println(count); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0; for (int i = 2; i <= n; i++) { int sum = 1; for (int j = 2; j <= (int) Math.sqrt(i); j++) { if (i % j == 0) { sum += j; sum += i / j; } if (sum > i) break; } if (sum == i) { count++; } } System.out.println(count); } }
import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class Main{ public static void main(String[]args){ Scanner scan = new Scanner(System.in); int num =scan.nextInt(); int total=0; for(int i=1;i<=num;i++){ List<Integer>list = new ArrayList<Integer>(); int sum =0; for(int j=1;j*2<=i;j++){ if(i%j==0){ list.add(j); } } for(int li:list){ sum+=li; } if(sum==i){ total++; } } scan.close(); System.out.println(total); } }