AcWing 780. 爱健身的小王-java
原题链接
简单
作者:
单箭头
,
2019-05-14 20:52:55
,
所有人可见
,
阅读 1169
java 代码
public class 爱健身的小王 {
/**
* 这个做法是请恕我脑子有坑去暴力做,遍历虽然AC
* @param args
*/
public static void main1(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
for(int i=0;i<t;i++){
int n=sc.nextInt();
boolean[] res=new boolean[4*n];
int m=0,cnt=0;
while (res[m+n+1]!=true){
m=m+n+1;
res[m]=true;
cnt+=1;
if(m+n+1>4*n-1){
m-=(4*n);
}
}
System.out.println(cnt+1);
}
}
private static int gcd(int x,int y){
return y==0?x:gcd(y,x%y);
}
/**
* 这个是最小公约数的,时间上是比暴力短的
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
for(int i=0;i<t;i++) {
int n = sc.nextInt();
int d=gcd(4*n,n+1);
int res=4*n/d+1;
System.out.println(res);
}
}
}
我在想这题答案不就直接是4n+1吗?如果不是请给个输入反例.