田地是一个巨大的矩形,然而zzc 每次只能种一个正方形,而每种一个正方形时zzc所花的体力值是正方形的周长,种过的田不可以再种,zzc很懒还要节约体力去泡妹子,想花最少的体力值去种完这块田地,问最小体力值
输入格式:
两个正整数x,y,表示田地的长和宽
输出格式:
输出最小体力值
输入样例#1
1 10
输出样例#1
40
输入样例#2
2 2
输出样例#2
8
1<=x,y<=10^16
#include<stdio.h>
#include<iostream>
using namespace std;
long long int x,y,s=0;//x长,y宽
int main()
{ios::sync_with_stdio(false);cin>>x>>y;while(x!=0&&y!=0)//就是一个数学迭代,像gcd的辗转相除法 {//如果为0就结束了 swap(x,y);//交换x,y s=s+4*y*(x/y);//长方形剩下的所有最大正方形 x=x%y; }//每次删除最大的正方形(即长度为x的正方形),直到y比x,也就是不能再删除一个长度为x的正方形了cout<<s<<endl;return 0;
}
本文发布于:2024-02-01 23:43:39,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170680713539932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |