首页 > 其他 > 详细

蓝桥杯:数字游戏

时间:2020-04-11 10:50:38      阅读:80      评论:0      收藏:0      [点我收藏+]

技术分享图片

技术分享图片

这题我做了半天也没看出来具体考的知识点是什么,综合运用也没发现具体运用什么。我自己是用for循环暴力算出来的,但是超限时80%多,看了下其他老哥的解析,他们用公式法可以正常通过。但是我有个问题就是,他们的算出来的规律都是拼出来的,看不人任何规律可言,比赛的时候感觉用等差公式去做的话有点迷哇。

这里就先记录下我的暴力算法,等后面有能力了再来看一遍这个题吧

package _12_26_test;

import java.util.Scanner;

public class eleven {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();// 人数
		int k = scanner.nextInt();// 心中数的数
		int T = scanner.nextInt();// 栋栋轮到的次数

		int re = k - 1;
		int count = 0;// 记录栋栋轮到的次数
		int dif = 0;// 记录两个数之间相差的大小
		int num = 1;// 每个人数的数
		int all = 0;// 栋栋数过的数之和

		// 根据输入的n,进行循环数数
		for (int i = 0; i < n * T; i++) {

			// 每个人心里数的数
			for (int j = 0; j < dif; j++) {
				num++;
				// 如果数到的数等于k-1,从0开始数
				if (num == re) {
					num = -1;
				}

			}

			// 每次数相差的大小加1
			dif++;

			// 栋栋轮到的次数
			if (i % n == 0) {
				count++;
				all = all + num;
			}

			if (count == n) {
				break;
			}

		}

		System.out.println(all);

	}

}

蓝桥杯:数字游戏

原文:https://www.cnblogs.com/lyd447113735/p/12677716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!