关闭

倒水问题

640人阅读 评论(0) 收藏 举报
分类:
题目详情

有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水。

我们还有一个足够大的水缸,足够容纳C升水。起初它是空的,我们只能往水缸里倒入水,而不能倒出。

可以进行的操作是:

  1. 把一个容器灌满;
  2. 把一个容器清空(容器里剩余的水全部倒掉,或者倒入水缸);
  3. 用一个容器的水倒入另外一个容器,直到倒出水的容器空或者倒入水的容器满。
    问是否能够通过有限次操作,使得水缸最后恰好有C升水。


输入:三个整数A, B, C,其中 0 < A , B, C <= 1000000000

输出:0或1,表示能否达到要求。

public static boolean can(int a,int b,int c) {
        int m = a % b;
    while (m != 0) {
      a = b;
      b = m;
      m = a % b;
    }

      if (c % b == 0) {
        return true;
      } else {
        return false;
      }
   
    }


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:517007次
    • 积分:5456
    • 等级:
    • 排名:第4906名
    • 原创:93篇
    • 转载:147篇
    • 译文:0篇
    • 评论:48条
    最新评论