第七届蓝桥杯java省赛大学生C组

第七届蓝桥杯java省赛中,小明参与了多项智力猜谜和编程挑战。从电子币猜谜游戏到数字积木搭建,再到冰雹数变换和密码分析,每道题目都需要独特的解题思路。参赛者需解决包括三角形煤球堆砌、平方怪圈循环、骰子游戏、分组策略、算式组合、搭积木方案、冰雹数高度计算、四方平和公式以及密码脱落问题等。每个问题都提供了参考代码供选手实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A.有奖猜谜

小明很喜欢猜谜语.
最近,他被邀请参加了X星球的猜谜活动.
每位选手开始的时候都被发给777个电子币.规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币,扣完为止.
小明一共猜了15条谜语.
战果为: vXvXVXVXVXvxvvx
其中v表示猜对了,x表示猜错了.
请你计算一下,小明最后手里的电子币数目是多少.

参考代码




/*
 * 开始 777  电子币
 * 猜对  当前数目翻倍     猜错  -555   扣完为止
 * 共猜了15次     vxvxvxvxvxvxvvx
 * v 猜对  x猜错
 * 求最后  电子币数目
 * 暴力
 */
	
		public class 有奖猜谜 {
		    public static void main(String[] args) {
		         //Scanner scan=new Scanner(System.in);
		         int sum=777;
		         String St="vxvxvxvxvxvxvvx";
		         char Ch = 0; 
		         for(int i=0;i<St.length();i++) {
		             Ch=St.charAt(i);
		             if(Ch=='v') {
		                 sum=sum*2;
		             }else {
		                 sum=sum-555;
		             }
		         }
		         System.out.println(sum);
		         //scan.close();
		      }
		    
		//58497
	}

B.煤球数目

有一堆煤球,堆成三角棱锥形.具体:第一层放1个,
第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字.
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.

参考代码


/*
 * 三角棱锥
 * 1
 * 3
 * 6
 * 10
 * 共100层
 * 有多少个煤球
 */

	import java.util.Scanner;
	

	public class 煤球数目 {
	    public static void main(String[] args) {
	        Scanner scan = new Scanner(System.in);
	   
	        int sum=0;
	        for (int i = 1; i <=100; i++) {
	            sum+=i*(i+1)/2;
	        }
	        System.out.println(sum);
	        scan.close();
	    }
	}
	

C.平方怪圈

如果把一个正整数的每一位都平方后再求和,得到一个新的正整数.对新产生的正整数再做同样的处理.
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈.
请写出这个循环圈中最大的那个数字.
请填写该最大数字.
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.

参考代码 



public class 平方怪圈 {
	
	  public static void main(String[] args)
	  {
	    int num = 2;
	    int i = 100;
	    int max = 0;
	    while (i > 0)//循环
	    {
	      i--;
	      int sum = 0;
	      while (num > 0)
	      {
	        sum += (num % 10) * (num % 10);
	        num /= 10;
	      }
	      num = sum;                    //平方和赋值
	      if (max <= num)
	    	  max = num;
	    }
	    System.out.println (max);
	  }
	}
	
//145

D.骰子游戏

我们来玩一个游戏.
同时掷出3个普通骰子(6个面上的数字分别是1~6).如果其中一个骰子上的数字等于另外两个的和,你就赢了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

konod4cda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值