• Codeforces Perfect Pair (JAVA)


    http://codeforces.com/problemset/problem/317/A

    题意:给两个数字,可以两数相加去替换其中一个数字。问要做多少次,可以让两个数字钟至少一个 >= 目标数字m,输出次数,不可能的话输出-1

    比较简单的题目,用来练习JAVA,代码写得有点,呵呵................

    import java.util.*;
    
    public class Main{
       
      static long max(long x , long y){
          return x > y ? x : y;
      }
      
      static long solve(long a ,long b ,long c){
          long res = 0;
          while( (a >= c || b >= c) == false){
              long sum = a + b;
              long Max = max(a , b);
              a = sum; b = Max;
              res++;
          }
          return res;
      }
      static long __solve(long a , long b , long c){
          long res = (-b + a - 1) / a;
          long tmp = b + res * a;
          res += solve(a,tmp,c);
          return res;
      }
      
      public static void main(String[] args){
          Scanner cin = new Scanner(System.in);
          long a,b,c,res;
          a = cin.nextLong();
          b = cin.nextLong();
          c = cin.nextLong();
          if(a >= c || b >= c)
              res = 0;
          else if(a <= 0 && b <= 0)
              res = -1;
          else if(a >= 0 && b >= 0){
              res = solve(a,b,c);
          }
          else{
              long tmp;
              if(a < b){
                  tmp = a; a = b; b = tmp;
              }
              res = __solve(a,b,c);
          }
          
          System.out.println(res);
      }
    }
  • 相关阅读:
    matplotlib实例笔记
    matplotlib笔记3
    pandas之时间重采样笔记
    pandas之时间序列笔记
    pandas之数据IO笔记
    pandas之聚合运算
    pandas之分组计算笔记
    算术运算符合
    数据类型 概况 (字符串,列表)
    for 循环
  • 原文地址:https://www.cnblogs.com/scau20110726/p/3142144.html
Copyright © 2020-2023  润新知