codeforces 1049C Yet Another Array Restoration(数学,暴力)

题目

思路:可以直接暴力试试给出两个数中的每个数毕竟数据比较小,也可以先确定最小公差,和首项,然后直接for输出答案(感觉有段时间没有写题,脑瓜子嗡嗡的)

AC代码:

package 练习;
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
     
 static Scanner sc=new Scanner (System.in);
 public static void main(String[] args) {
     
  int n=sc.nextInt();
  for(int i=0;i<n;i++) show();
  //show();
 }
 private static void show() {
     
  int n=sc.nextInt();
  int x=sc.nextInt();
  int y=sc.nextInt();
  int z=y-x;
  int a=n-1;
  while(z%a!=0)a--;//a为初始两数之间可以放数的最大的数量
  a=z/a;//a为公差
  int s=x%a;
  if(x/a-(n-z/a)>=0)s=s+a*(x/a-(n-z/a)+1);
  if(s==0)s=a;
  //System.out.println(a+" "+s+" "+x);
  for(int i=0;i<n;i++) {
     
   System.out.print(s+" ");
   s+=a;
  }
  System.out.println();
 }
}

你可能感兴趣的:(数学)