美文网首页
2015年Java方向C组第四题

2015年Java方向C组第四题

作者: D丝学编程 | 来源:发表于2021-02-11 12:00 被阅读0次

标题:循环节长度

两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。

比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。

下面的方法,可以求出循环节的长度。

请仔细阅读代码,并填写划线部分缺少的代码。

public static int f(int n, int m)
{
    n = n % m;  
    Vector v = new Vector();

    for(;;)
    {
        v.add(n);
        n *= 10;
        n = n % m;
        if(n==0) return 0;
        if(v.indexOf(n)>=0)  _________________________________ ;  //填空
    }
}

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

解析:

将题目代码做修改如下,观察Vector列表中的数据:

public static void f(int n, int m)
{
    n = n % m;  
    Vector v = new Vector();
    for(int i=1;i<=20;i++)
    {
        v.add(n);
        n *= 10;
        n = n % m;
        //if(n==0) return 0;
        //if(v.indexOf(n)>=0)  _________________________________ ;  //填空
    }
    System.out.println(v);
}
public static void main(String[] args) 
{
    System.out.println(11.0/13);
    f(11,13);
    System.out.println(7.0/18);
    f(7,18);
}

程序运行结果为:

0.8461538461538461
[11, 6, 8, 2, 7, 5, 11, 6, 8, 2, 7, 5, 11, 6, 8, 2, 7, 5, 11, 6]
0.3888888888888889
[7, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]

由上述结果我们可以看出除法结果的循环节长度和乘10求余数结果的循环节长度是相同的,即:

846153长度为6,[11, 6, 8, 2, 7, 5]长度为6
8的长度为1,[16]长度为1

题目中 if(n==0) 代表可以除尽,返回0,那么下面的if则需要返回题目要求的循环节长度,答案为:

return v.size() - v.indexOf(n);

相关文章

  • 2018年Java方向C组第四题

    标题:第几个幸运数 到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。...

  • 2015年Java方向C组第四题

    标题:循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。 比如,11/13=6=>0.846...

  • 2017年Java方向C组第四题

    标题:承压计算 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 每块金属原料的外形、尺寸完全一致,但重量不同...

  • 2016年Java方向C组第四题

    骰子游戏 我们来玩一个游戏。同时掷出3个普通骰子(6个面上的数字分别是1~6)。如果其中一个骰子上的数字等于另外两...

  • 2014年Java方向C组第八题

    标题:兰顿蚂蚁 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上...

  • 2014年Java方向C组第九题

    标题:地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 ...

  • 2015年Java方向C组第二题

    第二题 标题:立方尾不变 有些数字的立方的末尾正好是该数字本身。比如:1,4,5,6,9,24,25,.... 请...

  • 2015年Java方向C组第三题

    第三题 标题:无穷分数 无穷的分数,有时会趋向于固定的数字。 请计算【图1.jpg】所示的无穷分数,要求四舍五入,...

  • 2016年Java方向C组第二题

    煤球数目 有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),...

  • 2016年Java方向C组第八题

    冰雹数 任意给定一个正整数N,如果是偶数,执行: N / 2如果是奇数,执行: N * 3 + 1 生成的新的数字...

网友评论

      本文标题:2015年Java方向C组第四题

      本文链接:https://www.haomeiwen.com/subject/kbzlxltx.html