进位模拟数位拆分和最大公约数最小公倍数
2023-12-31 06:03:57
一、进位模拟与数位拆分
1、A+B
100以内的A + B问题
题目描述:
小明只认识100以内的正整数,如果大于100的正整数,他只会拿这个数的后两位做运算。
输入
每行两个整数分别为A和B,中间以空格分开,数据有多组。
输出
输出小明做完A + B之后的结果。
public class Test{
public static void main(String[] args){
int a = 0,b = 0;
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
a = sc.nextInt();
b = sc.nextInt();
System.out.println(((a % 100) + (b % 100))%100);
}
}
}
在要拆分一个数时或是获取一个数的个位一般都是用%,将一个数进行拆分。
2、计算有多少次进位
题目描述
输入两个n位的正整数A、B(n≤9),计算A+B过程中有多少次进位。
输入
每行两个整数分别为A和B,中间以空格分开,数据有多组。
输出
输出A+B计算过程中的进位次数。
public class jinwei {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 0,b = 0;
while(sc.hasNext()) {
a = sc.nextInt();
b = sc.nextInt();
int count = 0,jw = 0;
for(int i = 0;i <= 9;i ++) {
jw = (a % 10 + b % 10 + jw) >= 10 ? 1 : 0;
count += jw;
a /= 10;
b /= 10;
}
System.out.println(count);
}
}
}
灵活运用三目运算,将小学学的加法进位运算进行模拟,若是一下不知道怎么运算就一部部拆分。
3、数位反转
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int sum = 0;
while(n > 0){
sum = sum * 10 + n % 10;
n = n / 10;
}
System.out.println(sum);
//运用String方法
——————
System.out.println(new StringBuilder(String.valueOf(n).reverse().toString());//没考虑 520情况
}
}
二、最大公约数与最小公倍数?
1、最大公约数
一个长为a,宽为b的广场,现在要给该广场铺上一层瓷砖,瓷砖必须是正方形的,问你瓷砖最大边长为多少?
public class Gcd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 0,b = 0;
while(sc.hasNext()) {
a = sc.nextInt();
b = sc.nextInt();
System.out.println(gcd(a,b));
}
}
public static int gcd(int a,int b) {
return b == 0? a:gcd(b,a%b);
}
public static int gcd1(int a,int b) {
while(b > 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
}
2、最小公倍数
lcm(a,b) = (a*b) / gcd(a,b)
public class Lcm {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 0,b = 0;
while(sc.hasNext()) {
a = sc.nextInt();
b = sc.nextInt();
System.out.println(lcm(a,b));
}
}
public static int lcm(int a,int b) {
return (a * b) / gcd(a,b);
}
public static int gcd(int a,int b) {
return b == 0? a : gcd(b,a%b);
}
}
文章来源:https://blog.csdn.net/woai3364/article/details/134339804
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!