zoukankan      html  css  js  c++  java
  • CF Playing with Paper

    Playing with Paper

    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    One day Vasya was sitting on a not so interesting Maths lesson and making an origami from a rectangular a mm  ×  b mm sheet of paper (a > b). Usually the first step in making an origami is making a square piece of paper from the rectangular sheet by folding the sheet along the bisector of the right angle, and cutting the excess part.

    After making a paper ship from the square piece, Vasya looked on the remaining (a - b) mm  ×  b mm strip of paper. He got the idea to use this strip of paper in the same way to make an origami, and then use the remainder (if it exists) and so on. At the moment when he is left with a square piece of paper, he will make the last ship from it and stop.

    Can you determine how many ships Vasya will make during the lesson?

    Input

    The first line of the input contains two integers a, b (1 ≤ b < a ≤ 1012) — the sizes of the original sheet of paper.

    Output

    Print a single integer — the number of ships that Vasya will make.

    Sample test(s)
    Input
    2 1
    Output
    2
    Input
    10 7
    Output
    6
    Input
    1000000000000 1
    Output
    1000000000000


     1 #include <iostream>
     2 #include <cstdio>
     3 using    namespace    std;
     4 
     5 int    main(void)
     6 {
     7     long    long    count;
     8     long    long    a,b;
     9 
    10     while(scanf("%lld%lld",&a,&b) != EOF)
    11     {
    12         count = 0;
    13         if(!(a % b))
    14         {
    15             cout << a / b << endl;
    16             continue;
    17         }
    18 
    19         int    flag = 1;
    20 
    21         while((a % b))
    22         {
    23             count += a / b;
    24             a %= b;
    25             if(a < b)
    26                 swap(a,b);
    27             if(a % b == 0)
    28                 count += a / b;
    29         }
    30         cout << count << endl;
    31     }
    32 
    33     return    0;
    34 }
  • 相关阅读:
    错误、异常与自定义异常
    关于使用第三方库、代码复用的一些思考
    [Scheme]一个Scheme的Metacircular evaluator
    [Scheme]Understanding the Yin-Yang Puzzle
    [Lua]50行代码的解释器,用来演示lambda calculus
    将jar包安装到本地仓库
    PowerDesigner安装教程(含下载+汉化+破解)
    Jmeter如何录制APP客户端脚本
    jdk1.8 stream 求和
    VMware的快照和克隆总结
  • 原文地址:https://www.cnblogs.com/xz816111/p/4394650.html
Copyright © 2011-2022 走看看