HNUSTOJ-1690 千纸鹤

1690: 千纸鹤

时间限制: 1 Sec  内存限制: 128 MB
提交: 992  解决: 296
[提交][状态][讨论版]

题目描述

 圣诞节快到了,校园里到处弥漫着粉红色的气息。又是一个情侣秀恩爱的节日。

作为一只在双十一剁手的单身狗,XX只能望着空荡荡的钱包欲哭无泪。

XX琢磨着,得趁圣诞节的时候赚点外快,不然真得喝西北风去了。

但是能赚什么外快呢?批发苹果?没本金;卖贺卡?没本金;许愿灯?还是没本金……想来想去,做什么都没!本!金!这个残酷的世界啊,还给不给单身狗活路了!!!

最后还是心灵手巧,多才多艺的室友给了XX灵感——对,没错,就是题目——千纸鹤!

和其他的比起来,千纸鹤成本低廉到可以忽略不计。而最丧心病狂的是,XX为了节约成本,她都没直接去买可以叠千纸鹤的方块纸,而是自己买了白纸回来裁!!

而XX那奇葩的审美,让她觉得千纸鹤折越大越好看。所以她裁剪的时候,都是裁一块最大面积的正方形出来折千纸鹤。然后下一次又在剩余的纸中继续裁一块最大的正方形。

那么问题来了,一块长a宽b的长方形纸,在折完k只千纸鹤以后,还剩多大?

例如长为7宽为3的纸片,折完3只千纸鹤后,剩下的纸片为长2宽1。

 

 

 

 

 

 

输入

输入只有一行,包括三个整数 a, b, k (0 < b <= a <= 10,000),分别表示纸片的长,宽,以及千纸鹤的个数。保证数据合法。

 

输出

输出一行运算结果,结果为两个整数,分别表示剩余白纸的长和宽,数字以空格隔开,末尾要换行(长 >= 宽)

 

样例输入

1 1 1

样例输出

0 0
#include<iostream>
#include<cstring>
#include<cstdio>
 
using namespace std;
char ch[105];
int main(){
    int a, b, k;
    scanf("%d %d %d", &a, &b, &k);
    for(int i = 1; i <= k; i++){
        if(a > b){
            a = a - b;
        }else{
            b = b - a;
        }
    }
    if(a == 0 || b == 0) printf("0 0\n");
    else printf("%d %d", max(a, b), min(a, b));
}

 

posted @ 2017-08-21 21:21  Pretty9  阅读(133)  评论(0编辑  收藏  举报