sicily 2501. 算算式

原创 2015年11月19日 14:38:51

2501. 算算式

Constraints

Time Limit: 1 secs, Memory Limit: 256 MB

Description

_gXX遇到一个麻烦的式子:
S = n1 + n2 + n3 + ...... + nk,已知n、k,求S的值。
因为_gXX数学很差,希望你能告诉他答案。但是由于他的数学实在太差了,所以你只需要告诉他S除以9901的余数即可。

Input

两个整数,n和k(n ≤ 1000 , k ≤ 109)。

Output

一个数,表示S除以9901的余数。

Sample Input

2 3

Sample Output

14

题目分析

数论题
第一是同余定理
a+b≡x+m (mod d),其中 a≡x (mod d),b≡m(mod d)
即(x+m)%d = (x%d + m%d) %d
a-b≡x-m (mod d) 其中 a≡x (mod d),b≡m (mod d)
a*b≡x*m (mod d ) 其中a≡x (mod d),b≡m (mod d)
第二是应用了费马小定理
百科解释为:假如p是质数,且(a,p)=1,那么 a(p-1)≡1(mod p)。
即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。
应用到这一题就是p=9901为质数
则n^(9900+k) % 9901 = (n^9900%9901 * n^k)%9901 = (1 * n^k) % 9901 = n^k % 9901;
即每9900个数为一个循环
第三应用等比公式的求和
n^1 + n^2 +...+ n^9900 = n*(1-n^9900)/(1-n)
左右对9901求模,右边应用同余定理,注意到1-n^9900对9901求模为0
所以最终结果为0
即此题
(n^1 + n^2 +...+ n^k) % 9901 = (n^1 + n^2 +...+ n^(k%9900)) % 9901
第四为了加快计算,
n^1 + n^2 +..+ n^k = n(1+(n..n(1+n)..))再用同余公式


#include <stdio.h>
const int p = 9901;

int main()
{
  int n,k;
  scanf("%d%d",&n,&k);

  int temp = 0;
  int times = k % 9900;
  for (int c = 1; c <= times; ++c)
    temp = n * (1 + temp) % p;

  printf("%d\n", temp);
  return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

【BZOJ 2659】 [Beijing wc2012]算不出的算式

几何题~ 手绘图证明~

BZOJ 2659: [Beijing wc2012]算不出的算式

2659: [Beijing wc2012]算不出的算式 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 1374  Solved: 809 [S...
  • zjq_01
  • zjq_01
  • 2017年06月12日 14:31
  • 107

hdu 2044 2501 一只小蜜蜂#DP#斐波那契#java水大数

Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 Inpu...

ZOJ2501 POJ1976 A Mini Locomotive

简单的DP max_coach表示每节小火车头最多可以拉多少节车卡, passenger[i]保存的是从i往前连续max_coach节车卡的人数, 方便运算. dp[x][y]表示对于第x节车卡,...
  • neofung
  • neofung
  • 2012年02月24日 19:52
  • 690

HDU 2501 Tiling_easy version(我也是醉了,竟然是一样的代码)

HDU 2501 Tiling_easy version(我也是醉了,竟然是一样的代码)

Hduoj2501【数学递推】

/*Tiling_easy version Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Oth...

ZOJ-2501

生涯第一道DP,献给此题!当然找了道最简单的。。大意就是三个火车头,每个...
  • xhldtc
  • xhldtc
  • 2014年05月05日 23:27
  • 307

POJ 2501 Average Speed --from lanshui_Yang

Description You have bought a car in order to drive from Waterloo to a big city. The odometer on ...

09-02 HDU_Steps3.1 递推入门 HDU2041 HDU2044 HDU2045 HDU 2050 HDU2501 HDU2018 HDU1297 HDU2604

HDU Steps3.1 递推 3.1.1 HDU2041 超级楼梯  F(N)=F(N-1)+F(N-2) 3.1.2 HDU2044 一只小蜜蜂 F(N)=F(N-1)+F(N-2) ...
  • swm8023
  • swm8023
  • 2011年09月08日 23:21
  • 1359

Excel自动生成算式题

  • 2015年12月31日 15:02
  • 66KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sicily 2501. 算算式
举报原因:
原因补充:

(最多只允许输入30个字)