zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯 算法提高 计算超阶乘(暴力)

    试题 算法提高 计算超阶乘

    问题描述
      计算1*(1+k)(1+2k)(1+3k)(1+n*k-k)的末尾有多少个0,最后一位非0位是多少。
    输入格式
      输入的第一行包含两个整数n, k。
    输出格式
      输出两行,每行一个整数,分别表示末尾0的个数和最后一个非0位。
    样例输入
    15 2
    样例输出
    0
    5
    数据规模和约定
      1<=k<=10,1<=n<=1000000。
    PS:
    在计算的过程中就把末尾的0删掉

     
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            int n = s.nextInt();
            int k = s.nextInt();
            long sum = 1;
            int zeros = 0;
            for (int i = 1; i < n; i++) {
                sum = sum * (1 + i * k);
                while (sum % 10 == 0 && sum > 9) {
                    sum = sum / 10;
                    zeros++;
                }
                sum = sum % 100000;
            }
    
            System.out.println(zeros);
            System.out.println(sum % 10);
        }
    }
    
    
  • 相关阅读:
    AFHTTPRequestOperationManager的那些事
    iOS缩放图片
    iOS截图
    网络服务
    Six
    正文处理命令及tar命令
    用户,群组和权限 四
    用户,群组和权限 三
    用户,群组和权限 二
    用户,群组和权限 一
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074670.html
Copyright © 2011-2022 走看看