编辑

【校赛B组】2015年第六届蓝桥杯(解法通用)

2019-11-24 2019-11-24 73 2 ● 蓝桥杯 Hoji

觉得博主总结的赛题的还不错,可以去gihub,那里是对总结的宏观介绍,不奢求star,感觉有用stat一下也无妨.


002 调和函数

1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。

它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:

前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0

**那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?**
/**
 * @Author: Hoji(PAN先森)
 * @Description:
 * @Date: 11/23/2019 7:06 PM
 * @个人博客:https://www.hoji.site
 */
public class Main {
  public static void main(String[] args) {
    int n=74;
    double currSum=0;
    for (int i = 1; i < 10000000; i++) {
      currSum += 1.0/(i);
      if(currSum > 15) {
        System.out.println(i); break;
      }
    }
  }
}

答案:


003 x的x次幂

如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
/**
 * @Author: Hoji(PAN先森)
 * @Date: 11/23/2019 7:29 PM
 * @个人博客:https://www.hoji.site
 */
import java.text.DecimalFormat;
public class Main {
  public static void main(String[] args) {
    double d;
    DecimalFormat df = new DecimalFormat("#.00000000"); //控制输出的小数的位数
    for (d=2.0; d<3.0; d+=0.00000001) {
      if(Math.abs(Math.pow(d,d)-10.0) < 0.000001) {
        System.out.println(df.format(d));   //四舍五入,所以多打印几个数字
      }
    }
  }
}

答案:


004 排列

今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。
要求,两个1间有1个其它数字,两个2间有2个其它数字,
以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:

17126425374635

当然,如果把它倒过来,也是符合要求的。

请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。

注意:只填写这个14位的整数

005 勾股定理

 勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。

 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。

 求满足这个条件的不同直角三角形的个数。

【数据格式】
输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
要求输出一个整数,表示满足条件的直角三角形个数。

例如,输入:5
程序应该输出:1

再例如,输入:100
程序应该输出:2

再例如,输入:3
程序应该输出:0


资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗  < 1000ms
/**
 * @Author: Hoji(PAN先森)
 * @Description:
 * @Date: 11/23/2019 8:14 PM
 * @个人博客:https://www.hoji.site
 */
import java.util.Scanner;
public class Main{
  public static void main(String[] args) {
    int n;
    Scanner s = new Scanner(System.in);
    n=s.nextInt();
    int count=0;
    int j;
    for (int i = 1; i < n; i++) {
      j=(int) Math.sqrt(n*n-i*i);
      if(i*i+j*j == n*n) count++;
    }
    System.out.println(count/2);	//去重
  }
}

答案:


006 数独游戏

你一定听说过“数独”游戏。
玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、
每一个同色九宫内的数字均含1-9,不重复。

数独的答案都是唯一的,所以,多个解也称为无解。

本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。

本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有已知数据的格式都是合法的,并且题目有唯一的解。

格式要求,输入9行,每行9个字符,0代表未知,其它数字为已知。
输出9行,每行9个数字表示数独的解。

例如:
输入(即图中题目):
005300000
800000020
070010500
400005300
010070006
003200080
060500009
004000030
000009700

程序应该输出:
145327698
839654127
672918543
496185372
218473956
753296481
367542819
984761235
521839764

再例如,输入:
800000000
003600000
070090200
050007000
000045700
000100030
001000068
008500010
090000400

程序应该输出:
812753649
943682175
675491283
154237896
369845721
287169534
521974368
438526917
796318452

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗  < 2000ms

倘若小文于你有益,欢迎
  • 如果您的提问博主没能及时回复,通过分享文章获得援助,何尝不是一种查缺补漏的好做法
  • 版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议
  • 文章转载:请在文末添加原文章地址,这也是尊重他人劳动成果的一点体现,谢谢您的配合!
  • 评论信息 (注:评论收到回复后,会以邮箱的方式提醒您;您的邮箱不会显示到页面中)

    验证码信息 看不清?点击图片进行切换!
    精彩随处可见 更多精彩内容
    作者: 浏览 61 评论 1 赞 1 2020-01-15
    作者: 浏览 62 评论 1 赞 1 2019-11-29
    作者: 浏览 83 评论 1 赞 1 2019-11-29
    作者: 浏览 54 评论 1 赞 1 2019-11-29
    作者: 浏览 52 评论 1 赞 1 2019-11-29
    目录