
(資料圖片)
1.簡述:
小易經(jīng)常沉迷于網(wǎng)絡(luò)游戲.有一次,他在玩一個打怪升級的游戲,他的角色的初始能力值為 a.在接下來的一段時間內(nèi),他將會依次遇見n個怪物,每個怪物的防御力為b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的當(dāng)前能力值c,那么他就能輕松打敗怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打敗怪物,但他的能力值只能增加bi 與c的最大公約數(shù).那么問題來了,在一系列的鍛煉后,小易的最終能力值為多少?
對于每組數(shù)據(jù),第一行是兩個整數(shù)n(1≤n<100000)表示怪物的數(shù)量和a表示小易的初始能力值. 然后輸入n行,每行整數(shù),b1,b2...bn(1≤bi≤n)表示每個怪物的防御力
對于每組數(shù)據(jù),輸出一行.每行僅包含一個整數(shù),表示小易的最終能力值
輸入:
3 5050 105 2005 2030 20 15 40 100
輸出:
110205
2.代碼實現(xiàn):
public class Main{ public static int gcd(int a,int b){ int c; while(b!=0){ c=a%b; a=b; b=c; } return a;// return b==0?a:gcd(b,a%b); } public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int num=sc.nextInt(); int power=sc.nextInt(); int[] arr=new int[num]; for(int i=0;i=arr[i]){ power=power+arr[i]; }else{ power+=gcd(power,arr[i]); } } System.out.println(power); } }}