`

其他问题2

 
阅读更多

1.

 

/*
	 * 题目:输入某年某月某日,判断这一天是这一年的第几天?
	 */
	public static void print14(int year, int month, int day) {
		long start = System.currentTimeMillis();
		int[][] monthDays = { { 1, 31 }, { 2, 59 }, { 3, 90 }, { 4, 120 }, { 5, 151 }, { 6, 181 }, { 7, 212 }, { 8, 243 }, { 9, 273 }, { 10, 304 },
				{ 11, 334 } };
		int daysOfYear = day;
		if (month > 1) {
			daysOfYear += monthDays[month - 2][1];
		}
		if (month > 2 && isLeapYear(year)) {
			daysOfYear++;
		}
		long end = System.currentTimeMillis();
		// 比较
		long start2 = System.currentTimeMillis();
		Calendar c = Calendar.getInstance();
		c.set(year, month - 1, day);
		int dayOfYear = c.get(Calendar.DAY_OF_YEAR);
		long end2 = System.currentTimeMillis();
		SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
		System.out.println(format.format(c.getTime()) + ":" + daysOfYear + ",用时" + (end - start) + "," + dayOfYear + ",用时" + (end2 - start2));

	}

	/*
	 * 是否是闰年
	 */
	private static boolean isLeapYear(int year) {
		if (year % 4 == 0) {
			if (year % 100 == 0) {
				if (year % 400 == 0) {
					return true;
				}
			} else {
				return true;
			}
		}
		return false;
	}

	public static void main(String[] args) {
		T2.print14(1900, 1, 13);
		T2.print14(1900, 2, 13);
		T2.print14(1900, 3, 13);
		T2.print14(2000, 2, 13);
		T2.print14(2000, 12, 13);
		T2.print14(2012, 2, 13);
		T2.print14(2012, 3, 13);
		T2.print14(2013, 2, 13);
		T2.print14(2013, 3, 13);
	}

 输出:

 

1900年01月13日:13,用时0,13,用时24
1900年02月13日:44,用时0,44,用时0
1900年03月13日:72,用时0,72,用时0
2000年02月13日:44,用时0,44,用时0
2000年12月13日:348,用时0,348,用时0
2012年02月13日:44,用时0,44,用时0
2012年03月13日:73,用时0,73,用时0
2013年02月13日:44,用时0,44,用时0
2013年03月13日:72,用时0,72,用时0

 

2.

 

/*
	 * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
	 */
	public static void print15(int x, int y, int z) {
		int flag = 0;
		long start = System.currentTimeMillis();
		if (x > y) {
			if (x > z) {
				if (y > z) {
					int temp = x;
					x = z;
					z = temp;
					flag = 1;
				} else {
					int temp = x;
					x = y;
					y = z;
					z = temp;
					flag = 2;
				}
			} else {
				int temp = x;
				x = y;
				y = temp;
				flag = 3;
			}
		} else {
			if (x > z) {
				int temp = x;
				x = z;
				z = y;
				y = temp;
				flag = 4;
			} else {
				if (y > z) {
					int temp = y;
					y = z;
					z = temp;
					flag = 5;
				} else {
					flag = 6;
				}
			}
		}
		long end = System.currentTimeMillis();
		System.out.println("[" + x + "," + y + "," + z + "]标志:" + flag + ",用时:" + (end - start));
	}

	/*
	 * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
	 */
	public static void print16(int x, int y, int z) {
		int flag = 0;
		long start = System.currentTimeMillis();
		if (x > y) {
			int temp = x;
			x = y;
			y = temp;
			flag++;
		}
		if (x > z) {
			int temp = x;
			x = z;
			z = temp;
			flag++;
		}
		if (y > z) {
			int temp = y;
			y = z;
			z = temp;
			flag++;
		}
		long end = System.currentTimeMillis();
		System.out.println("[" + x + "," + y + "," + z + "]标志:" + flag + ",用时:" + (end - start));
	}

	public static void main(String[] args) {
		T2.print15(1, 2, 3);
		T2.print15(1, 3, 2);
		T2.print15(2, 1, 3);
		T2.print15(2, 3, 1);
		T2.print15(3, 1, 2);
		T2.print15(3, 2, 1);
		System.out.println();
		T2.print16(1, 2, 3);
		T2.print16(1, 3, 2);
		T2.print16(2, 1, 3);
		T2.print16(2, 3, 1);
		T2.print16(3, 1, 2);
		T2.print16(3, 2, 1);
	}

 输出:

 

[1,2,3]标志:6,用时:0
[1,2,3]标志:5,用时:0
[1,2,3]标志:3,用时:0
[1,2,3]标志:4,用时:0
[1,2,3]标志:2,用时:0
[1,2,3]标志:1,用时:0

[1,2,3]标志:0,用时:0
[1,2,3]标志:1,用时:0
[1,2,3]标志:1,用时:0
[1,2,3]标志:2,用时:0
[1,2,3]标志:2,用时:0
[1,2,3]标志:3,用时:0

 

3.

 

/*
	 * 题目:输出9*9口诀。
	 */
	public static void print17() {
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(j + "×" + i + "=" + i * j + "\t");
			}
			System.out.println();
		}
	}

	public static void main(String[] args) {
		T2.print17();
	}

 输出:

 

1×1=1	
1×2=2	2×2=4	
1×3=3	2×3=6	3×3=9	
1×4=4	2×4=8	3×4=12	4×4=16	
1×5=5	2×5=10	3×5=15	4×5=20	5×5=25	
1×6=6	2×6=12	3×6=18	4×6=24	5×6=30	6×6=36	
1×7=7	2×7=14	3×7=21	4×7=28	5×7=35	6×7=42	7×7=49	
1×8=8	2×8=16	3×8=24	4×8=32	5×8=40	6×8=48	7×8=56	8×8=64	
1×9=9	2×9=18	3×9=27	4×9=36	5×9=45	6×9=54	7×9=63	8×9=72	9×9=81	

 

 4.

/*
	 * 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
	 * 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
	 * 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
	 */
	public static void print18() {
		int num = 10;
		System.out.println(getNumber(num));
	}

	private static int getNumber(int n) {
		if (n == 1) {
			return 1;
		} else {
			return (getNumber(n - 1) + 1) * 2;
		}
	}

	/*
	 * 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
	 * 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
	 * 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
	 */
	public static void print19() {
		int num = 10;
		int count = 1;
		num--;
		while (num > 0) {
			count = (count + 1) * 2;
			num--;
		}
		System.out.println(count);
	}

	public static void main(String[] args) {
		T2.print18();
		T2.print19();
	}

 输出:

1534
1534

 

 

分享到:
评论

相关推荐

    PI解决队列堵塞问题

    本文将详细介绍如何通过SAP PI的SMQ2事务代码来诊断并解决队列堵塞的问题。 #### 二、队列堵塞问题的背景 SAP PI中的队列是用来存储等待处理的消息的,这些消息可以是等待发送的也可以是等待接收的。SMQ2事务代码...

    IHTMLDocument2问题代码

    2. **兼容性问题**:`IHTMLDocument2`主要用于早期版本的Internet Explorer,对于其他非IE浏览器或者较新的IE版本可能有兼容性问题。开发者可能需要考虑使用更现代的Web标准,如DOM Level 2或更高,以及跨浏览器的...

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...

    solomon 关于vrptw 标准库中R2类问题数据

    这里的“2”表示每个客户点都有两个不同的服务时间窗口,增加了问题的复杂性。 R2类问题的数据通常以文本文件的形式存在,如压缩包中的r202.txt、r203.txt到r211.txt等文件,这些文件包含了问题实例的具体参数。每...

    学校超市选址问题(带权有向图的中心点)

    1.设计内容:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。 2.设计要求: (1)设计该问题的核心算法; (2)设计可视化的界面,界面中能...

    msdbg2.dll问题解决办法

    3. **系统稳定性下降**:某些情况下,msdbg2.dll的问题还可能影响系统的整体稳定性,导致其他应用程序出现问题。 #### 三、问题分析及解决步骤 ##### 1. 确认msdbg2.dll文件是否完整 首先需要确认msdbg2.dll文件...

    最新C# wpf WebView2覆盖上层控件解决办法

    WebView2为WPF网页浏览工具,具有简单易用,页面显示清晰的优点。 但是,由于微软设计缺陷,无法进行分层界面设计,顶层控件会被遮挡住。 本样例很好的解决了上述问题,实现界面的分层控制,能够正常显示顶层控件。...

    cocos2dx移植时无问题版libcurl

    在将cocos2dx项目从其他平台移植到Windows Phone时,由于wp平台的特殊性,可能出现以下问题: 1. 库兼容性问题:libcurl可能需要特定版本或特定编译选项才能在wp上正常工作。 2. 动态链接问题:wp平台可能需要静态...

    用贪心算法解单源最短路径问题

    在计算机科学和信息技术领域中,单源最短路径问题是指从一个源点到其他顶点的最短路径问题。它是一种典型的图论问题,广泛应用于交通网络、通信网络、计算机网络等领域。贪心算法是解决单源最短路径问题的一种常用...

    cocos2d添加组件,解决view透明度问题

    xxxxx【Cocos2d游戏开发之七】在cocos2d中添加系统组件,并解决View设置透明会影响View中的其他组件的问题! http://blog.csdn.net/xiaominghimi/article/details/6704898

    最大覆盖问题(问题描述+ 通过代码)

    这个问题的目标是在有限的资源下,选择一部分元素(或区间),使得这些元素覆盖尽可能多的其他元素。这里的“覆盖”通常指的是一个元素至少被选中的一个元素所包含。在实际应用中,这可以用于广告投放、基站布局、...

    解决pdf2swf中文乱码问题文件全套

    5. **使用第三方工具**:如果以上方法仍无法解决问题,可以考虑使用其他PDF转SWF工具,如Adobe的`PDF2SWF`或其他商业解决方案,它们可能提供了更好的中文支持。 压缩包文件中可能包含的资源包括示例PDF文档、已配置...

    包含_Aria2_一键安装管理脚本aria2.sh,以及其他相关文件、问题记录。_Aria2-Install-Linux.zip

    包含_Aria2_一键安装管理脚本aria2.sh,以及其他相关文件、问题记录。_Aria2-Install-Linux

    解决WIN7SP1下编译的VS6.0程序(ADO2.8)在其它客户端下需无法使用的问题

    2. **KB983246 补丁**:KB983246是微软发布的一个更新,用于解决Windows 7系统中与旧版Visual Studio相关的问题,特别是针对VB6和VC6的兼容性。安装此补丁后,VS6.0的程序在Win7 SP1上应该能更好地运行。 3. **ADO ...

    麦肯锡问题分析与问题解决方法

    3. 80/20 和其他一些重要规则:应用80/20原则、帕累托法则等重要规则来分析问题,确定问题的关键点。 解决方案 解决方案是麦肯锡方法的第二部分。它提供了一种系统化的方法来制定解决方案,确保解决方案的可行性和...

    微信图表层级问题.rar

    在微信小程序开发中,开发者经常会遇到图形元素与页面其他组件之间的层级关系问题,尤其是在使用uniapp框架和ucharts图表库时。"微信图表层级问题.rar"这个压缩包可能包含了一个解决此类问题的具体示例项目,它指导...

    tsp问题贪心算法求解

    2. 输入处理:读取城市数量和距离矩阵。 3. 贪心策略:定义贪心选择策略,如选择与当前城市距离最近的城市作为下一个目标。 4. 计算路径:根据贪心策略计算旅行路径。 5. 输出结果:打印出旅行路线和总距离。 **...

    旅行商问题 实验报告+代码

    2. **图论基础**:TSP可以抽象为无向图或有向图,其中每个节点代表一个城市,每条边表示两个城市之间的距离。图的遍历策略是解决问题的关键。 3. **算法设计**:常见的解决TSP的方法有贪心算法、动态规划、遗传算法...

    tsp问题之回溯法 cpp实现

    6. **回溯**:如果选择的下一个城市导致无法满足问题的约束,或者找到了一个解,就需要回溯到上一步,尝试其他选择。 **C++实现TSP问题的回溯法:** 在C++中,实现TSP的回溯法通常涉及以下几个关键部分: - 定义...

Global site tag (gtag.js) - Google Analytics