博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.凑算式
阅读量:5230 次
发布时间:2019-06-14

本文共 1503 字,大约阅读时间需要 5 分钟。

声明

可能本文章会有错误,希望各位读者看到后,记得回复留言,提醒我,以免误人子弟。本人菜鸡,还望各位大佬手下留情。

题目

凑算式

B      DEF

A + --- + ------- = 10

C GHI

(如果显示有问题,可以参见【图1.jpg】)

题目

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:

6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。


分析

这道题需要用到全排列,如果不太会的还是要去看下全排列。

将ABCDEFGHI全排列组合一边,然后选出满足条件的。
需要注意的是比较的位置,如果是int型,结果会自动取整


代码

public class f {    //总共解法次数    static int count = 0;    public static void cou(int[] list) {        //将结果比较,这里需要注意将后面的数转为double型,与double型的10.0比较        double result = list[0] + 1.0*list[1]/list[2] + 1.0*(list[3]*100+list[4]*10+list[5])/(list[6]*100+list[7]*10+list[8]);        if(result == 10.0)            count++;    }            //这里全排列运用的递归    //list:数组,begin:开始的位置,length:长度    public static void fun(int[] list,int begin,int length) {        //如果开始的位置等于数组长度,那么        if(begin==length) {            cou(list);        }else {            for(int i=begin;i<=length;i++) {                //交换两个数                swap(list,begin,i);                //递归                fun(list,begin+1,length);                //再将两个数交换回来                swap(list,begin,i);            }        }    }        //交换两个数函数    public static void swap(int[] list,int a,int b) {        int temp = list[a];        list[a] = list[b];        list[b] = temp;    }                public static void main(String[] args) {        int[] list = {1,2,3,4,5,6,7,8,9};        fun(list,0,list.length-1);        System.out.println(count);    }}

转载于:https://www.cnblogs.com/drinkoo/p/8735447.html

你可能感兴趣的文章
Jenkins自动化构建.net项目
查看>>
scRNA-seq for thymus tissue Single-cell mapping technology
查看>>
Java 面试题基础部分(一)
查看>>
go深度拷贝reflect版
查看>>
MySQL锁机制和PHP锁机制
查看>>
SQL Server 调优:set statistics profile on
查看>>
Sicily 1001 Alphacode
查看>>
配置MySQL数据库详细步骤
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
Netty - 入门
查看>>
C# ToolTip控件的使用方法
查看>>
SU Demos-04Deconvolution-01FX
查看>>
php + ajax实现 帖子点赞功能
查看>>
rabbitmq windows 安装,更改配置文件路径的问题(管理页面不显示的问题)
查看>>
c# 图解泛型List<T>, HashTable和Dictionary<TKey,TValue>
查看>>
【转】git 删除commit
查看>>
Hdu 1083 Courses(匈牙利算法模版题)
查看>>
[数据算法]大纲
查看>>
单调队列
查看>>
表连接与子查询的区别
查看>>