两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。 比如,11/13=6=>0.846153846153… 其循环节为[846153] 共有6位。

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

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

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

java 复制代码
import java.util.Vector;
public class test3 {
    public static void main(String[] args) {
        System.out.println(f(11,13));
    }
    public static int f(int n,int m){
        n=n%m;
        Vector v=new Vector();
        for(;;){//无限循环
            v.add(n);//将每次的余数添加到数组中
            n*=10;//当前余数扩大10倍,求得下一位余数
            n=n%m;
            if(n==0)
                return 0;
                //如果当前的余数不是第一次出现,那么就说明已经循环节出现了
            if(v.indexOf(n)>=0)
            //为了避免循环部分是相同的数字的情况,因此需要减去第一次出现的位置
                return v.size()-v.indexOf(n);

            }
        }
    }

输出:

java 复制代码
6
相关推荐
代码游侠31 分钟前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_7634724641 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
TechWJ1 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
qq_12498707531 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.1 小时前
Day06——权限认证-项目集成
java
瑶山1 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy1 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
lly2024061 小时前
C++ 文件和流
开发语言
2301_818732061 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea