网站页面
当前课程
成员
General
主题 1
主题 2
主题 4
主题 5
主题 6
主题 7
主题 8
主题 9
主题 10
主题 11
主题 12
主题 13
主题 14
主题 15
主题 16
主题 17
主题 18
主题 19
主题 20
[Ural1309]辩论
成绩 | 开启时间 | 2014年09月19日 星期五 10:08 | |
折扣 | 0.8 | 折扣时间 | 2014年09月26日 星期五 10:08 |
允许迟交 | 是 | 关闭时间 | 2014年09月26日 星期五 10:08 |
输入文件 | Dispute.in | 输出文件 | Dispute.out |
【题目描述】
辩论是件好事!众所周知,真理越辩越明。Ural锦标赛的两名组织者进行了一场辩论。第一个人说,对于编程竞赛而言,计算一个函数的值是一道非常愚蠢而且无用的题目。他的论证是:一旦一个函数的定义已知,并且有充分时间做必要的准备,就可以很快计算出这个函数在任意一点的值。第二名组织者却认为并非所有的函数都可以被足够快地计算出来。为了结束这场辩论,他们决定做一个试验。因此你需要证明你的确可以足够快地计算一个函数在任意一点的值。
这个函数f(n),其中n是非负整数,递归定义如下:
f(0)=0
f(n)=g(n,f(n-1)),
其中g(x,y)=( (y-1)x^5 +x^3 - xy + 3x + 7y) % 9973,这里%符号代表取模(即C/C++中的%)
【输入格式】
输入文件有一行一个整数n(0<=n<=10^8).
【输出格式】
输出一行一个整数f(n)。
【样例输入】
50
【样例输出】
6300
【提示】
你得写一个程序输出f(n)的值。并且它必须运行的非常快!
【来源】
Problem Author: Idea - Alexander Klepinin, prepared by Alexander Klepinin, Stanislav Vasilyev
Problem Source: VIII Collegiate Students Urals Programming Contest. Yekaterinburg, March 11-16, 2004