zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯 历届试题 小数第n位

    历届试题 小数第n位
    时间限制:1.0s 内存限制:256.0MB

    问题描述
      我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。
      如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。

    本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。
    输入格式
      一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)
    输出格式
      一行3位数字,表示:a除以b,小数后第n位开始的3位数字。
    样例输入
    1 8 1
    样例输出
    125
    样例输入
    1 8 3
    样例输出
    500
    样例输入
    282866 999000 6
    样例输出
    914

    import java.util.Scanner;
    
    
    public class 小数第n位 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int a = sc.nextInt();
    		int b = sc.nextInt();
    		int len = sc.nextInt();
    		a = a%b;
    		String str = "";
    		int i = len+2;
    		//遍历掉大量的无用数据
    		for (; i > 10; i-=7) {
    			a = a*10000000%b;
    			if(a==0){	//如果整除则直接跳出
    				break;
    			}
    		}
    		for (; i > 0; i--) {
    			if(i<=3){
    				str = str + a*10/b;	//最后三位使用字符串保存
    			}
    			if(a==0){	//如果整除则直接跳出
    				break;
    			}
    			a = a*10%b;
    		}
    		while(str.length()<3){	//将字符串的长度补到3
    			str = str + "0";
    		}
    		System.out.println(str);
    	}
    
    
    }
    
    
  • 相关阅读:
    .net Core 配置Centos守护进程Supervisor
    .net Core 安装在linux上
    Mariadb Galera Cluster 搭建集群
    MariaDB 安装配置记录
    MariaDB 安装
    wso2 linux上部署说明
    RestFul 架构详解
    SpirngBoot之整合邮件服务
    SpringBoot之模板引擎
    SpringBoot之持久化框架
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948665.html
Copyright © 2011-2022 走看看