“Số hoàn thiện (hay còn gọi là số hoàn chỉnh, số hoàn hảo hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương chính thức của nó (số nguyên dương bị nó chia hết ngoại trừ nó) bằng chính nó. “
Bài 1: Nhập vào một số nguyên dương n kiểm tra n có phải là số hoàn hảo không.
Code mẫu:
import java.util.Scanner;
import java.lang.Math;
public class MathSubjects{
public boolean soHoanHao(int n)
{
int s=1;
for(int i=2;i<Math.sqrt(n);i++)
{
if(n%i==0) s+=i+(n/i);
}
if(n==s) return true;
else return false;
}
public static void main(String[] args) {
MathSubjects A = new MathSubjects();
Scanner input = new Scanner(System.in);
System.out.print("Enter a number : ");
int n = input.nextInt();
if(A.soHoanHao(n))
{
System.out.print(n+" là số hoàn hảo");
}else {
System.out.print(n+" không phải là số hoàn hảo");
}
}
}
- Kiếm tiền Accesstrade, kiếm tiền tại nhà với Accesstrade.vn – Tiếp thị liên kết
- MegaURL – Rút gọn link kiếm tiền có giá cao tại Việt Nam
- Top 4 App kiếm tiền online trên điện thoại tốt nhất 2022
Bài 2: Nhập vào một số nguyên dương n in ra các số hoàn hảo nhỏ hơn hoặc bằng n
Code mẫu:
import java.util.Scanner;
import java.lang.Math;
public class MathSubjects{
public boolean soHoanHao(int n)
{
int s=1;
for(int i=2;i<Math.sqrt(n);i++)
{
if(n%i==0) s+=i+(n/i);
}
if(n==s) return true;
else return false;
}
public static void main(String[] args) {
MathSubjects A = new MathSubjects();
Scanner input = new Scanner(System.in);
System.out.print("Enter a number : ");
int n = input.nextInt();
System.out.print("số hoàn hảo nhỏ hơn hoặc bằng n: ");
for(int i=1;i<=n;i++)
{
if(A.soHoanHao(i))
{
System.out.print(" "+i);
}
}
}
}
Bài 3: Nhập vào một số nguyên dương n in ra n số hoàn hảo đầu tiên
Code mẫu:
import java.util.Scanner;
import java.lang.Math;
public class MathSubjects{
public boolean soHoanHao(long n)
{
if(n<2) return false;
long s=1;
for(long i=2;i<Math.sqrt(n);i++)
{
if(n%i==0) s+=i+(n/i);
}
if(n==s) return true;
else return false;
}
public static void main(String[] args) {
MathSubjects A = new MathSubjects();
Scanner input = new Scanner(System.in);
System.out.print("Enter a number : ");
long n = input.nextInt();
System.out.print("n số hoàn hoàn đầu tiên: ");
long dem=0, i=1;
while(dem<n)
{
if(A.soHoanHao(i))
{
System.out.print(" "+i);
dem++;
}
i++;
}
}
}