蓝桥杯 数字游戏 (规律题&&取余)
来源:互联网 发布:安卓手机淘宝5.6.7版本 编辑:程序博客网 时间:2024/05/24 03:22
历届试题 数字游戏
时间限制:1.0s 内存限制:256.0MB
问题描述
栋栋正在和同学们玩一个数字游戏。
游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。
为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k-1 时,下一个数字从0开始数。例如,当k=13时,栋栋和同学们报出的前几个数依次为:
1, 2, 4, 7, 11, 3, 9, 3, 11, 7。
游戏进行了一会儿,栋栋想知道,到目前为止,他所有说出的数字的总和是多少。
游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。
为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k-1 时,下一个数字从0开始数。例如,当k=13时,栋栋和同学们报出的前几个数依次为:
1, 2, 4, 7, 11, 3, 9, 3, 11, 7。
游戏进行了一会儿,栋栋想知道,到目前为止,他所有说出的数字的总和是多少。
输入格式
输入的第一行包含三个整数 n,k,T,其中 n 和 k 的意义如上面所述,T 表示到目前为止栋栋一共说出的数字个数。
输出格式
输出一行,包含一个整数,表示栋栋说出所有数的和。
样例输入
3 13 3
样例输出
17
样例说明
栋栋说出的数依次为1, 7, 9,和为17。
数据规模和约定
1 < n,k,T < 1,000,000;
//通过求出数列可以看出所得数列会循环,当k为奇数时循环节为k,当k为偶数时,循环节为2*k,知道这个规律后这个题就太简单了。
具体看代码:
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#define N 1000010#define ll long longusing namespace std;ll a[2*N];int main(){ll n,k,t;int i;while(scanf("%lld%lld%lld",&n,&k,&t)!=EOF){memset(a,0,sizeof(a));a[1]=1;for(i=1;i<=2*k;i++)a[i+1]=(a[i]+i)%k;ll sum=1;ll m=2*k;for(i=1;i<t;i++){ll kk=(i*n)%m+1;sum+=a[kk];}printf("%lld\n",sum);}return 0;}
0 0
- 蓝桥杯 数字游戏 (规律题&&取余)
- 蓝桥杯 数字密码发生器 取余
- 数字取余
- hdoj Calculate S(n) 2114 (数学规律 取余)
- HDOJ 1005:取余,循环,找规律
- js或 php中 取余规律
- hdu 2516 取石子游戏(博弈,找规律)
- hhu1003 数字整除 大数取余
- 探讨关于 整数除法 和 取余 的映射规律
- 取石子游戏_hdu_2516(博弈规律).java
- hdu2156取石子游戏(巴士博弈&&规律)
- NYOJ 295 取余(大数取余)
- 面试编程题:(一)数字规律
- 历届试题 数字游戏(找规律呀找呀找~)
- GCC(大数取余)
- jvav中奖取数字游戏
- HDU-2096-小明A+B(取余相加再取余)【技巧题,易超时】
- "%"取余
- Android5.1 系统之省电模式探索一启动流程
- mysql知识和sql语句分享
- Spark配置参数
- python豆瓣电影爬虫
- DVR设备设置土耳其语,局域网IP登陆无视频
- 蓝桥杯 数字游戏 (规律题&&取余)
- android-build app with Contacts & Sign-In
- EJS 中文文档
- Mysql代理中间件 Atlas 安装和配置
- Protobuffer和json深度对比
- Unexpected namespace prefix "xmlns" found for tag LinearLayout
- ssh的tunnel设置+autossh设置
- es初识
- 对象的串行化(Serialization)