1 < n,k,T < 1,000,000;
import java.util.Scanner;/* * 根据题意,拿例子来说1(A),2(B),4(C),x(A)...., * 这里的x是A第二次要说的数,由数列可知,x = C说的4+3,是7 * 其实这个x=7,相当于2(B)-1(A)=1,4(C)-2(B)=2,x(A)-4(C)=3,还有A前一次说的数1,相加可得 * x = 1 + 2 + 3 + 1; 那么1+2+3就是一开始输入的1到n的和(dis) * 那么,同理A第三次说出的数,就是4+5+6+前一次说的数7=22 ,因为22>=k-1,所以22%13=9就是A第三次说的数了 */ public class Main { public static void main(String[]args){ Scanner sc=new Scanner(System.in); long n=sc.nextLong(); long k=sc.nextLong(); long t=sc.nextLong(); long d=1; long sum=1; long dis = (n + 1) * n / 2;// 栋栋说第二个数的时候的间距是dis for (int i = 1; i < t; i++) { d += dis; dis += n * n; if (d >= k - 1) d %= k; sum += d; } System.out.PRintln(sum); sc.close(); }}
新闻热点
疑难解答