....
来源:互联网 发布:软件测试linux 编辑:程序博客网 时间:2024/06/07 05:41
Description
Jzzhu has invented a kind of sequences, they meet the following property:
You are given x and y, please calculate fn modulo1000000007(109 + 7).
Input
The first line contains two integers x andy(|x|, |y| ≤ 109). The second line contains a single integern(1 ≤ n ≤ 2·109).
Output
Output a single integer representing fn modulo1000000007(109 + 7).
Sample Input
2 33
1
0 -12
1000000006
Hint
In the first sample, f2 = f1 + f3,3 = 2 + f3,f3 = 1.
In the second sample, f2 = - 1; - 1 modulo (109 + 7) equals(109 + 6).
这道题在比赛的时候没有做出来 是因为刚开始一直在想着能不能用(a+b)%c=(a%c)%(b%c)的变形 没有往几个数一循环这方面想 这个题就是6个数一循环
注意::《负数对某个数取余》
代码:
#include<stdio.h>
#include<string.h>
#define INF 1000000007
int main()
{
long long n,m,s[10];
int i;
while(~scanf("%lld %lld",&n,&m))
{
s[1]=n;
s[2]=m;
for(i=3;i<=5;i++)
{
s[i]=s[i-1]-s[i-2];
}
s[0]=s[5]-s[4];///是s[0] 不是s[6].因为下面是取余
scanf("%lld",&n);
int k;
k=n%6;
if(s[k]>=0)
{
printf("%lld\n",s[k]%INF);
}
else
{
while(s[k]<0) ///负数
{
s[k]=s[k]+INF;
}
printf("%lld",s[k]%INF);
}
}
return 0;
}
- 程序员
- 程序员?
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- 程序员
- HDU 5384 Danganronpa(AC自动机模式串重复)
- Openerp附件存储位置
- hdu5135 Little Zu Chongzhi's Triangles(状态压缩dp)
- 【C语言】预处理指令—宏定义
- 数据结构读书笔记1
- ....
- 集合
- SAP Down Payment的设置和使用
- leetcode 两个有序数组合成
- NYOJ-1022合纵连横(并查集的删除操作)
- Codeforces Round #283(Div.2) A,B,C,D,E 解题报告
- 构建乘积数组
- CiscoVPNClient不支持WIN10
- OC关于NSDictionary和NSMutableDictionary方法的使用