当前位置: 首页 > news >正文

求最小公倍数 、小球走过路程计算 题目

题目

  • JAVA11 求最小公倍数
    • 分析:
    • 代码:
    • 大佬代码:
  • JAVA12 小球走过路程计算
    • 分析:
    • 代码:

JAVA11 求最小公倍数

描述
编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数。
 
输入描述:
两个int类型变量作为方法的参数。
 
输出描述:
int类型的变量,值为两个数的最小公倍数。

示例:

输入:3 7
输出:21

 
 

分析:

1.两个数的最小公倍数为:两个数的乘积/最大公约数。

2.两个数不大于100。

 

代码:

求最大公约数方法:辗转相除法。

//辗转相除法
public static int getCD(int m,int n){if(m<n){//保持m代表的数 大。int temp=n;n=m;m=temp;}while(n!=0){int temp=n;n=m%n;m=temp;}System.out.println(m);return m;}

 
 

完整代码

import java.util.*;public class Main {public static void main(String[] args) {Scanner console = new Scanner(System.in);int m = console.nextInt();int n = console.nextInt();int result = getCM(m, n);System.out.println(result);}public static int getCM(int m, int n) {return (m*n/getCD(m,n));}public static int getCD(int m, int n) {if (m < n) { //保持m代表的数 大。int temp = n;n = m;m = temp;}while (n != 0) {int temp = n;n = m % n;m = temp;}//System.out.println(m);return m;}
}

 

大佬代码:

使用循环

import java.util.*;public class Main {public static void main(String[] args) {//标准输入Scanner console = new Scanner(System.in);int m = console.nextInt();int n = console.nextInt();//计算最小公倍数int result = getCM(m, n);//输出结果System.out.println(result);}//计算最小公倍数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){return i;}}return -1;}}

 
 

将两个数的倍数从小到大依次排列,直到出现相同的倍数。

int a = m;
int b = n;
//4 8 12 16 20
//6 12 18
while (true) {if (m == n) {break;} else {if (m < n) {m += a;} else {n += b;}}
}

 
 

JAVA12 小球走过路程计算

描述
一球从h米高度自由落下,每次落地后反弹回原高度的一半再落下,求它在第n次落地时共经过了多少米?第n次反弹多高?
 
输入描述:
输入小球的初始高度和落地的次数(先输入小球初始高度再输入反弹次数)。
 
输出描述:
输出小球反弹的高度和经过的距离(先输出反弹的高度再输出经过的距离,中间用空格隔开)。
结果保留三位小数,保留方式已经写在预设方法备注中。

示例:

输入:100 3
输出:12.500 250.000

 
 

分析:

1.有多少次反弹,则用h/2计算反弹距离。

2.一共经过的距离,则是计算n次反弹之前的距离。

代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);float h=scanner.nextFloat();int n =scanner.nextInt();double sum=h;for(int i=1;i<=n;i++){h/=2;if(i!=n){sum+=2*h;}}System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", sum));}
}
http://www.lryc.cn/news/374877.html

相关文章:

  • 【Android面试八股文】你能说一说为什么IO是耗时操作?
  • 怎样增强 CLike 游戏的社交功能,促进玩家之间的互动和交流?
  • 12_YouOnlyLookOnce(YOLOv3)新一代实时目标检测技术
  • 安装 Nuxt.js 的步骤和注意事项
  • 【perl】环境搭建
  • 【车载音视频AI电脑】全国产海事船载视频监控系统解决方案
  • Centos SFTP搭建
  • 【中学教资科目二】01教育基础
  • 设计模式-享元模式Flyweight(结构型)
  • 【刷题】LeetCode刷题汇总
  • 树莓派pico入坑笔记,快捷键键盘制作
  • 华为鲲鹏应用开发基础:鲲鹏处理器及关键硬件特性介绍(二)
  • Vue.js结合ASP.NET Core构建用户登录与权限验证系统
  • 【html】如何利用id选择器实现主题切换
  • 服务器添加TLS域名证书核子之PKCS编解码
  • 使用 Selenium 自动化获取 CSDN 博客资源列表
  • 智能制造全闪解决方案,八大痛点,一网打尽
  • Python学习从0开始——Kaggle深度学习002
  • 比利时海外媒体宣发,发稿促进媒体通稿发布新形势-大舍传媒
  • 摄影构图:人像摄影和风景摄影的一些建议
  • 安卓实现输入快递单号生成二维码,摄像头扫描快递单号生成的二维码,可以得到快递信息
  • Mysql特殊用法分享
  • 一个开源的快速准确地将 PDF 转换为 markdown工具
  • 可通过小球进行旋转的十字光标(vtkResliceCursor)
  • python遍历文件夹并计算某类文件的数量,制图像文件到目标文件夹
  • 网络层只懂路由?这9个知识点被严重低估了
  • 最新的kali Linux源,解决apt update报错说没有数字签名
  • RAG与Langchain简介
  • 绕过网页的阻止复制
  • Jackson指定json的key