您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 2浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

火柴棒等式(洛谷P1149题题解,Java语言描述)

星拱北辰 发布时间:2020-01-25 23:10:08 ,浏览量:2

题目要求

P1149题目链接

在这里插入图片描述 在这里插入图片描述

分析

看起来要搜索,但何必呢?不搜也行啊~

其实我们预先把每一位的数值(0~9)算出来就好,分别是这样的:

  • key = 0, value = 6
  • key = 1, value = 2
  • key = 2, value = 5
  • key = 3, value = 5
  • key = 4, value = 4
  • key = 5, value = 5
  • key = 6, value = 6
  • key = 7, value = 3
  • key = 8, value = 7
  • key = 9, value = 6

当然,用数组就可以啦~~

接下来根据这个每一个数值的火柴棒数就可以根据每一位的累加出来啦,开一个循环即可。

最后我们可以根据输入的num,开双层循环进行遍历,暴力枚举所有可能,找到合适的答案,计数器数值+1。

不要忘记加号有两根火柴,等号也有两根火柴就好啦!!

我们保证24根火柴的情况能包含起来就行了。

AC代码(Java语言描述)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int[] num_array = new int[2001], basic_array = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
        num_array[0] = 6;
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        scanner.close();
        //求每个数需要的火柴棒数量
        for(int i = 1; i = 1) {
                num_array[i] += basic_array[temp%10];
                temp = temp/10;
            }
        }
        int counter = 0;
        //暴力枚举判断等式是否符合要求
        for(int i = 0; i             
关注
打赏
1660750074
查看更多评论
0.0882s