目录
1.求一个数的约数:
//求一个数的约数
public static void getDivisor(int n) {
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
System.out.println(i);
}
}
}
public static void main(String[] args) {
getDivisor(2023); //约数
}
2.求两个数的最大公约数:
//求两个数的最大公约数--→辗转相除法
public static int gcd(int a, int b) {
int c = a % b; //先将a对b取余
while (c != 0) { //当余数不等于0时,一直进行循环,直到余数等于0,公约数就为b
a = b; //将a对b的余数再对b取余,直到循环结束
b = c;
c = a % b;
}
System.out.println(b);
return b;
}
public static void main(String[] args) {
gcd(6,12); //最大公约数
}
3.计算两个数最小公倍数:
//计算两个数最小公倍数
public static int getCM(int m, int n){
//计算m、n中较大者
int max=Math.max(m,n);
//从max到m*n之间找最小公倍数
for(int i=max;i<=m*n;i++){
//如果既能被m整除又能被n整除,说明是最小公倍数,直接返回
if(i%m==0&&i%n==0){
System.out.println(i);
return i;
}
}
return -1;
}
public static void main(String[] args) {
getCM(3, 7); //最小公倍数
}
4.是否质数/素数:
//是否质数/素数(即只能被1和自身整除的正整数)
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
// 一定是 <= 号
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
System.out.println(isPrime(2023)); //素数
}
5.各位相加:
//各位相加
public static int ReverseSum(int value) {
int s,sum=0;
while (value>0){
s = value%10; //个位数
value = (value-s)/10; //使除个位数字外,其他数字组成一个新的数字
sum = sum+s; //把所有“个位数字”加起来
}
System.out.println(sum);
return sum;
}
public static void main(String[] args) {
ReverseSum(12345); //各位相加
}
6.大数取余:
//大数取余
public static int bigNum(String s) {
int ans = 0;
for(int i = 0; i<s.length(); i++){
ans = (ans*10 + s.charAt(i)-'0')%2023;
}
System.out.println(ans);
return ans;
}
public static void main(String[] args) {
bigNum("999999999999999999999999999999999999999"); //大数取余
}
7.进制转换:
public static void main(String[] args) {
System.out.println(Integer.parseInt(Integer.toBinaryString(256))); //进制转换
}
待更新。。。