小易
题目描述
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();//表示怪物的数量
int a=sc.nextInt();//表示小易的初始能量值
int c=a;//当前能量值,初始化为a
int[] b=new int[n];
for(int i=0;i<n;i++){
b[i]=sc.nextInt();//输入每个怪物的防御力
if(b[i]<=c){//若怪物防御力小于等于小易的当前能量值c,则直接加b[j]
c+=b[i];
}else{//若怪物能量值大于当前能量值c,则加上b[j]和c的最大公约数
int min=b[i]<c?b[i]:c;
for(int k=min;k>=1;k--){
if(b[i]%k==0&&c%k==0){
c+=k;//k为最大公约数
break;
}
}
}
}
System.out.println(c);
}
}
}
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//下面这行代码是判断输入了几次n和a
while(sc.hasNext()){
int n=sc.nextInt();
int a=sc.nextInt();//初始值
//创建一个数组,里面存放接下来的n个怪物防御力
int[] b=new int[n];
for(int i=0;i<n;i++){
//把防御力放在数组里面
b[i]=sc.nextInt();
if(a>=b[i]){
a+=b[i];
}else{
//求最大公约数
int min=a<b[i]?a:b[i];
for(int k=min;k>=1;k--){
if(a%k==0 && b[i]%k==0){
a+=k;
//第一次写,就是因为break
break;
}
}
}
}
System.out.println(a);
}
}
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//判断输入的几个回合,上图示例四行(2个回合)
while(sc.hasNext()){
int n=sc.nextInt();//表示怪物的数量
int a=sc.nextInt();//表示小易的初始能量值
int c=a;//当前能量值,初始化为a
int[] b=new int[n];
for(int i=0;i<n;i++){
b[i]=sc.nextInt();//输入每个怪物的防御力
}
for(int j=0;j<b.length;j++){
if(b[j]<=c){//若怪物防御力小于等于小易的当前能量值c,则直接加b[j]
c+=b[j];
}else{//若怪物能量值大于当前能量值c,则加上b[j]和c的最大公约数
int min=b[j]<c?b[j]:c;
for(int k=min;k>=1;k--){
if(b[j]%k==0&&c%k==0){
c+=k;//k为最大公约数
break;
}
}
}
}
System.out.println(c);
}
}