某星球存在两种生物,A种生物有1个头6条腿,B种生物有3个头4条腿。来自地球的太空船刚刚在该星球降落, 突然发现一大群这两种生物组成的队伍,由于时间紧,只数了头的数量和腿的数量,请帮助宇航员分析A、B两种生物各有多少个。
package competition;
import java.util.Scanner;
/*
某星球存在两种生物,A种生物有1个头6条腿,B种生物有3个头4条腿。来自地球的太空船刚刚在该星球降落,
突然发现一大群这两种生物组成的队伍,由于时间紧,只数了头的数量和腿的数量,请帮助宇航员分析A、B两种生物各有多少个。
输入说明:头的数量L 腿的数量Z,(L,Z<=100000);
输出说明:A生物的数量B生物的数量(两个整数用一个空格隔开);
输入样例:10 32输出样例:4 2
*/
public class NumberTest {
public static void main(String []args){
Scanner scanner = new Scanner(System.in);
int l = scanner.nextInt();
int z = scanner.nextInt();
int y = 0,x = 0;
u1:for (x = 0; x+ (3*y) <= l;x++) {
for (; (6 * x) + (4 * y) <= z; y++) {
if (x + (3 * y) == l && (6 * x) + (4 * y) == z) {
break u1;
}
}
y = 0;
}
if (y == 0){
System.out.println("数据不对");
return ;
}
System.out.println(x+" "+y);
}
}
更加优化的算法:(简单清爽,引自:https://blog.csdn.net/qq_40178533/article/details/110230375)
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m,n,x,y;
m=input.nextInt();
n=input.nextInt();
y=(6*m-1*n)/(3*6-4*1);
x=(n-4*y)/6;
System.out.println(x+" "+y);
input.close();
}
}
最新文章
- C语言实现最基本的回射服务器与客户端(服务器用TCP协议回射客户发来的消息)
- 【SVN】Error running context: 由于目标计算机积极拒绝,无法连接
- hadoop日常运维与升级总结
- forEach 方法 (Array) (JavaScript)
- android native开发时:java.lang.UnsatisfiedLinkError: Native method not found的处理
- gsoap框架下的onvif程序流程分析
- 重拾java系列一java基础(3)
- J2EE到底是什么
- C++转到C#历程零基础知识(持续增加)
- desc跟asc
- POJ3723 Conscription
- css居中
- mysql批量更新数据,即:循环select记录然后更新某一字段
- Apache Flink Quickstart
- UOJ#103. 【APIO2014】Palindromes PAM模板题
- 一种快速构造和获取URL查询参数的方法:URLSearchParams
- java.lang.StackOverflowError 解决方法
- .Net转Java.06.字符串的split的区别
- PHPStorm FTP upload could not change to work directory 无法更改目录
- Spring 注解原理(一)组件注册