`
水木清华77
  • 浏览: 36871 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Problem24

阅读更多
package com.yao.Algorithms;

import java.util.ArrayList;
import java.util.List;
/**
 * 
 * @author shuimuqinghua77 @date 2012-4-26下午02:01:16
 *
 */
public class Problem24 {
/**
 * 存放数字
 */
private static List<Integer> list=new ArrayList<Integer>();

private static int MILLION=100*100*100;
private static int count=0;
private static StringBuilder millionth=new StringBuilder();
public static void main(String[] args) {
	for(int i=0;i<10;i++)
		list.add(i);
	find(factor(list.size()-1),millionth);
	System.out.println(millionth);
	System.out.println(count);
}
/**
 * 表示一个全排列的量
 * @param size
 * @return
 */
private static int factor(int size) {
	int factor=1;
	for(int i=1;i<=size;i++){
		factor*=i;
	}
	return factor;
}
/**
 * 以递归的方式遍历
 * @param factor
 * @param millionth
 * @return
 */
private static int find(int factor,StringBuilder millionth) {
	for(int j=0;j<list.size();j++)
	{
		int future=count+factor;
		if(future<MILLION){
			count=future;
		}
		else if(future>MILLION){
			millionth.append(list.get(j));
			list.remove(j);
			return find(factor(list.size()-1),millionth);
		}
		else{
			millionth.append(list.get(j));
			list.remove(j);
			/**
			 * 关键部分   剩下的数字应该以倒序添加到digit末尾,也就是从大到小的顺序
			 */
			for(int k=list.size()-1;k>=0;k--)
				millionth.append(list.get(k));
			return future;
		}
	}
	return count;
}
}
分享到:
评论

相关推荐

    project euler problem 5

    题目:Project Euler问题5——寻找最小公倍数 在Project Euler的问题集中,问题5要求我们找到能被1至20所有数字整除的最小正整数。这个问题实际上是在寻找这组数字的最小公倍数(LCM)。对于较小的参数值,如本例中...

    计算机网络第六版答案

    Computer Networking: A Top-Down Approach, 6th Edition Solutions to Review Questions and Problems Version Date: May 2012 ...This document contains the solutions to review questions ...Problem 1 There...

    MySQL数据库考试试题.docx

    24. 错误语句:不能使用运算符号(Problem 24) 在 SELECT 语句中,不能使用运算符号,例如 SELECT sal+1 FROM emp;。 25. 连接种类:左外连接、内连接、交叉连接等(Problem 25) SQL 语言中有多种连接种类,...

    模式识别 中科院刘成林 作业一

    Question 5 (Pattern Classification, Chapter 2, Problem 24) Consider the multivariate normal density for which σij = 0 and σii = σ2 i , i.e., Σ = diag(σ2 1,σ2 2,...,σ2 d). (a) Show that the ...

    Algorithmic Problem Solving

    出版日期: 2011-10-24 pages 页数: 432 An entertaining and captivating way to learn the fundamentals of using algorithms to solve problems The algorithmic approach to solving problems in computer ...

    maxwell仿真实例版.pdf

    10. 瞬态场实例:TEAM WORKSHOP PROBLEM 24 该实例指导用户如何使用Maxwell 3D来计算瞬态场分布。用户需要创建一个瞬态场模型,并设置材料属性和边界条件。然后,用户可以使用Maxwell 3D来计算瞬态场分布。 本实例...

    0-1-knapsack-problem-master (24)c.zip

    在这个压缩包"0-1-knapsack-problem-master (24)c.zip"中,我们可以推测它包含了一个C语言实现的0-1背包问题解决方案。C语言是一种强大的、低级别的编程语言,适用于实现高效算法。文件名中的"(24)"可能是版本号或者...

    paper_ed40_24_inverse_control_problem_

    在当今的智能系统和自动化技术中,逆向控制(Inverse Control Problem)已经成为一个重要的研究领域。它主要解决如何从期望的效果出发,设计出能够实现这一效果的控制器。而在工业界,尤其是机器人和自动化设备中,...

    0-1-knapsack-problem-master (24).zip

    在这个0-1-knapsack-problem-master (24).zip压缩包中,我们很可能找到了一个关于0-1背包问题的C语言实现。C语言是一种底层、高效的语言,常用于编写系统软件和高性能的应用程序,包括算法实现。 0-1背包问题的基本...

    Karp’s minimum mean-weight cycle algorithm

    好不容易找到的最详细的对MMC算法的解释,可做为算法导论 Problem 24-5 的答案

    problem.pdf

    要求参赛者用给定的n个大小为n的数通过加、减、乘、除四种运算(每个数只能使用一次)来算出数字24。每个运算结果都必须是整数,且最终结果为24。如果无法得到结果,则输出“Impossible”。这个题目考查对算法逻辑和...

    2019-51MCM-Problem A (English).docx

    提供了24名运动员在同一场比赛中投掷同一标枪的数据,需要对这些数据进行统计分析,建立合适的数学模型来揭示标枪飞行过程中的运动规律。可能涉及到的数学模型包括抛体运动方程、空气阻力模型以及运动员技巧与飞行...

    动态规划Hamming_Problem 解题报告

    例如,给定质数2, 3, 和 5,Hamming序列H(2, 3, 5)是2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, ...。题目要求我们找到H(p1, p2, p3)序列中的第i个元素,其中i是一个给定的正整数。 输入数据包括三...

    第3届Mathorcup数学建模竞赛优秀论文-ProblemC(English)-ProblemC.doc

    ### 第3届Mathorcup数学建模竞赛优秀论文-ProblemC(English)-ProblemC.doc #### 关键知识点 ##### 一、Mathorcup数学建模挑战赛简介 Mathorcup数学建模挑战赛是一项旨在提高大学生数学应用能力、创新能力和实践...

    AIX 故障诊断,Problem Solving and Troubleshooting

    本文档基于IBM Redbooks发布的《Problem Solving and Troubleshooting in AIX Version 4.3》(SG24-5496-00),详细介绍了AIX 4.3版本中的问题诊断和故障排除方法,旨在帮助系统管理员更好地理解和处理AIX系统中的...

    基于扩展TOP(Team Orienteering Problem)的多无人机任务分配算法测试基准设计源码

    该项目是针对扩展TOP(Team Orienteering Problem)的多无人机任务分配算法的测试基准设计源码,包含24个文件,其中15个PNG图片文件、4个Python源文件、3个CSV数据文件、1个Git忽略文件和1个Markdown文档。...

    2D-Cutting-Stock-Problem-with-Setup-Cost:数学题

    // add image { w = 24 ; h = 30 ; demand = 246 }pk . addImageKind( 13 , 56 , 562 ); // add image { w = 13 ; h = 56 ; demand = 562 }pk . addImageKind( 14 , 22 , 1000 ); // add image { w = 14 ; h = 22 ;...

    delphi2010皮肤控件-VCLSkinv5.30FS

    News in 3.98 2/24/2006 * Support TPageControl with tsButton style. * Fix problem on Mainmenu with ActionList. News in 3.97 2/16/2006 * Fix problem when Groupbox in ScrollBox. *Fix problem with newest...

    DIRECTDRAW 读取24位位图出问题 请高手看看

    对于文件名称列表中的"problem",这可能是包含有问题代码或资源的文件,需要进一步分析。 通过以上步骤,应该能定位并解决程序在读取24位位图时遇到的问题。记住,解决问题的关键在于理解DirectDraw的工作原理和...

Global site tag (gtag.js) - Google Analytics