`
1140566087
  • 浏览: 547786 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

取小数的循环体

阅读更多

1/7 = 0.142857142... 是个无限循环小数。
任何有理数都可以表示为无限循环小数的形式。

本题目要求即是:给出一个数字的循环小数表示法。

例如:
输入:
1,5
则输出:
0.2

输入:
1,7
则输出:
0.[142857]

输入:
7,6
则输出:
1.1[6]

用户输入的格式是:
整数,整数

每个整数范围均为:1~1000

程序输出两个整数做除法产生的小数或无限循环小数(循环节用方括号括起)。



要求考生把所有类写在一个文件中。
调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。




package 循环小数;

public class Main {
	
	public static void main(String[] arg){
		double a =5;
		double b = 9;
		f(a, b);
	}
	
	//处理数据
	public static void f(double a ,double b){
		double c = a/b;
		
		String str = String.valueOf(c);
//		System.out.println(str);
		
		//取出整数和小数部分
		int index = str.indexOf(".");
		String integer = str.substring(0,index);
		String decimals = str.substring(index+1, str.length()-index+1);
//		System.out.println(decimals);
		
		// 对小数部分进行循环取循环体;
		String temp = "";
		String forTempString = "";
		for(int i=0;i<decimals.length()-1;i++){
			String ch = ""+decimals.charAt(i);
			if(!temp.contains(ch)){
				temp += ""+ch;
			}else{
				forTempString+=ch;
			}
			
		}
//		System.out.println(temp+"   "+forTempString);
		
		String  result =str; //记录最后结果
		for(int i=temp.length()-1;i>=0;i--){
			
			//从最后一位开始取 字符,然后在forTempString中取相同的字符进行比较,如果相同,则该基数为循环体;剩余temp中为取的部分为非循环体;
			String base = temp.substring(i, temp.length());
			int n = temp.length()-i;	//取字符的数量;
			if(forTempString.substring(0, n).equals(base)){
			
				//此时的base 就是循环体;
//				System.out.println(base);
				
				//当前的i的值能得出非循环体,组合得到最后结果
//				System.out.println(temp.subSequence(0, i));
				result = integer+"."+temp.substring(0, i)+"["+base+"]";
				break;
			}
		}
		System.out.println(result);
	}
	
}
0
2
分享到:
评论

相关推荐

    C语言程序设计标准教程

    在程序中空语句可用来作空循环体。例如 while(getchar()!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。 赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句...

    计算机应用基础专科20.9作业参考答案.docx

    (2)十进制小数转换为二进制小数(乘基取整法) 十进制小数转换为二进制小数的规则是:乘以基数(2)取整数,先得到的整数为高位,后得到的整数为低位。 具体的做法是:用2连续去乘十进制数的小数部分,直至乘积的...

    精易模块[源码] V5.15

    1、修复“文本_取中间_批量”获取大数据崩溃的BUG,改为循环方式获取,大数据不建议用此命令(吃CPU)。 2、添加“文本_朗读”是否使用百度语音引擎参数,为空时默认使用微软语音引擎。 3、改善“文本_加密”与“文本_...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 -... 2、在函数体中,如果 a 大于 b的话...

    易语言程序免安装版下载

     静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和...

    freemarker总结

    此外,迭代集合对象时,还包含两个特殊的循环变量: item_index:当前变量的索引值 item_has_next:是否存在下一个对象 也可以使用指令跳出迭代 例子如下: ["星期一", "星期二", "星期三", "星期四", "星期五", ...

    c语言经典案例

    实例219 取一个整数的后四位 331 实例220 求一个数的补码 332 实例221 普通的位运算 333 实例222 整数与0异或 334 第14章 存储管理 335 实例223 使用malloc()函数分配内存 336 实例224 调用calloc()函数动态分 配...

    整理后java开发全套达内学习笔记(含练习)

    while (关键字) 循环语句。 当...的时候 [hwail] ORACLE_SID=oral10g\ --变局部变量 export ORACLE_SID --变全局变量 unset ORACLE_SID --卸载环境变量 ORACLE_HOME=... --安装路径;直接用一句语句也可以,...

    delphi 开发经验技巧宝典源码

    0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用...

    delphi 开发经验技巧宝典源码06

    0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用...

    C#编程经验技巧宝典

    16 &lt;br&gt;0033 Return语句的使用 17 &lt;br&gt;0034 如何实现无限循环 17 &lt;br&gt;0035 巧用foreach语句控制控件 18 &lt;br&gt;0036 有效使用switch case语句 18 &lt;br&gt;2.3 运算符 19 &lt;br&gt;0037 如何使用...

    JavaScript笔记

    |--x.toFixed(num):可把Number四舍五入为指定小数位数(num:0-20)的数字 |--x.toString():用于把一个 Number 对象转换为一个字符串,并返回结果 19.正则表达式对象:(专门用于查找和验证) reg.test(‘要验证的完整...

    c程序设计习题参考(谭浩强三版)习题参考解答

    输出要有文字说明,取2位小数。 9 第5章 选择结构程序设计 10 5.2语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 10 5.3写出下面各逻辑表达式的值。设a=3,b=4,c=5。 10 5.4有3个整数a,b,c...

    C# for CSDN 乱七八糟的看不懂

    循环 无条件循环 int sum,x; sum=0; for(x=1;x;x++) { sum+=x; } 有条件循环 private void button1_Click(object sender, System.EventArgs e) { int sum=0; int x=0; while ((sum) & (x)) { x++; sum+=x; } string...

Global site tag (gtag.js) - Google Analytics