赛码网练习--做俯卧撑

来源:互联网 发布:淘宝企业店个体工商户 编辑:程序博客网 时间:2024/04/27 10:07

做俯卧撑
题目描述
某体校在训练间隙,老师为了强化学生们的体能又为了公平对待,组织了一次脑力加体力双训练的游戏。游戏的规则是这样的:老师让同学们一共 n 个人围坐在一圈。第一个人首先说出数字1。接下来,坐在他左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。再下一个同学要往下数三个数,说7。依次类推。如果有一位同学说错,那么他将做与当轮游戏中第一位同学所有说出的数字的总和(即第一位同学说了T个数字的总和)相同的俯卧撑数。
为了使数字不至于太大,老师规定,当在心中数到 k-1 时,下一个数字从0开始数。例如,当k=13时,同学们报出的前几个数依次为:
  1, 2, 4, 7, 11, 3, 9, 3, 11, 7。
游戏进行了一会儿,第 m 个同学在第 T 次说数的时候说错了,那么他将要做多少个俯卧撑?
输入
输入的第一行包含三个整数 n,k,T,其中 n 和 k 的意义如上面所述, T 表示到目前为止第一位同学一共说出的数字个数。
样例输入
3 13 3
输出
输出一行,包含一个整数,表示该同学做的俯卧撑数。
样例输出
17

import java.util.Scanner;public class Main {    public static void main(String[] args){        Scanner s=new Scanner(System.in);        int n=s.nextInt();        int k=s.nextInt();        int T=s.nextInt();        s.close();        int count=0;        int sum=0;        for(int num=1,j=1;;j++){            if(j%n==1){                count++;                sum+=num;            }            if(count==T){            System.out.println(sum);            break;            }        num=(num+j)%k;        }    }}

写程序的时候要理清逻辑分析可用的变量,但不要忘记分析的时候用的实际的数值例子在输入代码的时候改回来变量,因为将输入的n,k用实际的3和13写进程序中,导致程序出错,找错误找了一个钟。谨记!

0 0
原创粉丝点击