• 蓝桥杯 算法训练 ALGO-121 猴子分苹果


      算法训练 猴子分苹果  
    时间限制:1.0s   内存限制:256.0MB
    问题描述
      秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分。这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果。第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一份,最后把剩下的苹果重新合在一起。这些猴子依次悄悄来到山洞,都做同样的操作,恰好每次都剩下了m个苹果。第二天,这些猴子来到山洞,把剩下的苹果分成n分,巧了,还是剩下了m个。问,原来这些猴子至少采了多少个苹果。
    输入格式
      两个整数,n m
    输出格式
      一个整数,表示原来苹果的数目
    样例输入
    5 1
    样例输出
    15621
    数据规模和约定
      0<m<n<9
     
    题目解析:
      利用递推思想从后往前想,苹果和猴子的数量相等时苹果最少。苹果被分了 n+1 次,吃了 n 次,最后分完后还剩 m 个。
      因此,得到公式: Total = n^(n+1) - n*m + m
     
    示例代码:
     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner sc = new Scanner(System.in);
     6         int n = sc.nextInt();
     7         int m = sc.nextInt();
     8         int appleNum =(int)Math.pow(n , n+1) - n*m + m;  //苹果被分了 n+1 次,吃了 n 次,最后分完后还剩 m 个
     9         System.out.println(appleNum);
    10     }
    11 }
  • 相关阅读:
    DRF分页器
    DRF版本控制
    crrm复习
    python面试题网络编程和数据库
    python基础面试题
    前端格式
    数据库基本命令
    数据库管理系统
    线程协程和进程
    IPC通信
  • 原文地址:https://www.cnblogs.com/cao-lei/p/6724542.html
Copyright © 2020-2023  润新知