A96808.函数求和

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

我们用函数 f(x,m)f(x,m) 表示 xx 除以 mm 的余数(也就是 xx 对 mm 取模)。

给定三个整数 N,X,MN,X,M,定义一个数列 AA:

  • 初始时有 A1=XA_1 = X;
  • 对于每个整数 i≥1i \ge 1,有

    Ai+1=f(Ai2,M).A_{i+1} = f(A_i^2, M).

请你计算

∑i=1NAi\sum_{i=1}^N A_i

输入格式

输入包含一行,包含三个整数 N,X,MN,X,M。

输出格式

输出一个整数,表示

∑i=1NAi\sum_{i=1}^N A_i

的值。

输入输出样例

  • 输入#1

    6 2 1001

    输出#1

    1369
  • 输入#2

    1000 2 16

    输出#2

    6
  • 输入#3

    10000000000 10 99959

    输出#3

    492443256176507

说明/提示

数据范围

  • 1≤N≤10101 \le N \le 10^{10};
  • 0≤X<M≤1050 \le X < M \le 10^5;
  • 输入中的所有数都是整数。

样例一:

数列 AA 为

2,4,16,256,471,620,…2, 4, 16, 256, 471, 620, \dots

所以

∑i=16Ai=2+4+16+256+471+620=1369.\sum_{i=1}^6 A_i = 2 + 4 + 16 + 256 + 471 + 620 = 1369.

样例二:

数列 AA 为

2,4,0,0,0,…2, 4, 0, 0, 0, \dots

所以前 10001000 项之和为

2+4+0+⋯+0=6.2 + 4 + 0 + \dots + 0 = 6.

输入解题思路,AI测评打分。不知道怎么写?

首页