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);
}
}
分享到:
相关推荐
- **语法**:`while (条件) { /* 循环体 */ }` - **作用**:在满足条件的情况下重复执行一段代码块。 - **示例**:`while (cin >> a) { /* ... */ }`,只要能成功从标准输入读取一个整数,就会继续执行循环体内的...
- **循环体**:循环体内执行的语句,以及这些语句的作用,以及它们将被执行的次数。 掌握DO和FOR语句的基本格式和使用是VB编程的基础,能够解决简单的计算问题。理解它们的区别并熟练运用,对于编写复杂的程序至关...
- 表示循环小数有两种方式:完整循环节加省略号,或用圆点标记循环节。 4. **有限与无限小数**: - 有限小数的小数部分位数有限,无限小数则不然。 **第三单元:观察物体** 1. **观察角度与形状**: - 从不同...
34. 无限小数与循环小数:无限小数不一定是循环小数,如π。 35. 数据统计:一组数据的中位数可能等于平均数。 36. 错误的等式与方程关系:等式不一定是方程,方程必须含未知数。 37. 观察物体视角:一次最多能...
3. 近似值的确定:最大的两位小数取近似值为9.8是9.84(选①)。 4. 商与被除数的关系:商比被除数大的是36.72÷0.216(选③)。 5. 连续减法:从2中连续减去150个0.01剩下0.5(选②)。 五、图形题: 1. 连线题...
例如,循环小数和无限小数的关系(判断题16),末尾添0对数值的影响(判断题17),以及加法结合律的应用(选择题25)。 通过这份试卷,学生可以检验自己对小数、整数、倍数、运算规则和几何图形等基础知识的掌握...
5. **无限小数与循环小数**:无限小数包括循环小数和非循环小数,所以无限小数不一定是循环小数。 **选择题知识点**: 1. **购物计算**:根据单价和购买数量计算总价。 2. **小数乘法与比较**:比较小数乘法的结果...
2. 无限小数包括循环小数和非循环小数,后者不是循环小数的例子。 3. 整数的运算规则适用于小数。 4. 连续自然数中至少有一个合数,考虑1是质数的情况。 5. 积的大小取决于因数的大小,可能小于任何一个因数。 选择...
3. **循环小数的表示与近似值**:34.864864…是一个循环小数,可以用简便方法表示,即34.86(4),并且保留三位小数是34.865。 4. **比较大小**:题目中的÷0.9○×0.9,需要理解小数的性质,乘以小于1的小数会使数值...
- 小数:表示整体“1”被分成10、100、1000等份的数,分为有限小数、无限小数、纯循环小数和混循环小数。 2. 数的运算: - 整数运算包括加减乘除,遵循相应的运算定律和性质。 - 分数运算包括加减乘除,涉及通分...
- 有限小数不一定比无限小数大,这取决于具体数值。 - 除数为1的除法,商等于被除数。 - 一个数除以0.01相当于乘以100,因此商扩大100倍。 7. **选择题** - 第一题是有限小数。 - 近似数4.2可能是4.2399,4....
11. **循环小数与无限小数的关系**:判断题中提到循环小数是无限小数,但无限小数不一定是循环小数,这是正确的,因为无限小数还包括非循环无限小数。 12. **倍数关系的判断**:一个数是3和5的倍数,那么它是15的...
- 辗转相除法(欧几里得算法):不断用大数除以小数,取余数,直到余数为零,最后的除数即为最大公约数。 - 更相减损术:两数相减,直至得到相同的数,该数即为最大公约数。若两数均为偶数,可先用2约简。 举例...
`while`循环依赖于一个条件,只要条件满足就持续执行循环体。`for`循环常与`range()`函数配合,用于迭代序列,如在0到10之间迭代。 6. 条件判断:`if`语句用于进行条件判断。可以检查一个数值是否为正、负或零。当...
2. 循环小数的表示与精确值:让学生掌握循环小数的书写规则和近似值的求取。 3. 字母表达式的应用:涉及用字母表示数量关系,计算累计阅读页数。 4. 单位转换:时间与面积单位之间的换算,巩固单位理解。 5. 除法的...
在程序中空语句可用来作空循环体。例如 while(getchar()!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。 赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句...
8. **`do-while`循环**:`do-while`循环至少执行一次,即使`while`后的条件不满足,循环体依然会执行一次。 9. **`continue`语句**:`continue`语句在循环中用于跳过当前循环体内剩余的部分,直接进入下一轮循环。...
有理数是指可以用有限小数或无限循环小数表示的数,如1、2、3、4、5等;无理数是指不能用有限小数或无限循环小数表示的数,如π、e、√2等。无理数的特点是其小数部分是无限不循环的。 二、科学记数法 科学记数法...
4. **Do-While循环**:与While循环类似,但do-while循环的条件检查是在循环体执行完后进行的,这意味着do-while循环至少会执行一次。 5. **For循环**:For循环是另一种常用的循环结构,通常用于迭代一定次数或在...