zoukankan      html  css  js  c++  java
  • java 九数组分数

    九数组分数

    1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法?

    下面的程序实现了该功能,请填写划线部分缺失的代码。

    public class A
    {
    public static void test(int[] x)
    {
    int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
    int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]10 + x[8];
    if(a
    3==b) System.out.println(a + " " + b);
    }

    public static void f(int[] x, int k)
    {
    	if(k>=x.length){
    		test(x);
    		return;
    	}
    	
    	for(int i=k; i<x.length; i++){
    		{int t=x[k]; x[k]=x[i]; x[i]=t;}
    		f(x,k+1);
    		___________________________     // 填空
    	}
    }
    
    public static void main(String[] args)
    {
    	int[] x = {1,2,3,4,5,6,7,8,9};		
    	f(x,0);
    }
    

    }

    注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。

    {t = x[k];x[k] = x[i];x[i] = t;}

    这个用到了回溯法(一种选优搜索法,又称试探法,典型:三皇后,八皇后)。
    简单来说就是,一条路走不通,回去岔路口走另外的路。所以填空那里要把前面已经交换的数,交换回去。

  • 相关阅读:
    Linux中的邮件发送
    Python学习笔记18-发送邮件
    Ansible学习笔记
    eclipse使用maven打包时去掉测试类
    CentOS安装redis
    spring boot 部署
    sprint boot 配置
    spring-boot 学习笔记一
    不要容忍破窗户
    阿里云安装Oracle
  • 原文地址:https://www.cnblogs.com/ohuo/p/12232516.html
Copyright © 2011-2022 走看看