题目描述
一天晨晨在想一道数学题,题目为: “一张硬纸板长 m 厘米,宽 n 厘米,现在需要把它剪成若干个大小 相同的最大的正方形,不许有剩余。问正方形的边长是多少?”,她感觉很难,特地来求教你这个电脑天才, 希望你能帮助她解决。
例如 m=4 厘米,n=2 厘米,那么如图,可以分解为最大边长为 2 厘米的两个正方形:
输入
一行,两个整数 m 和 n。 1<=m,n<=1000000000。
输出
一个整数,可以剪成若干个相同正方形,不许有剩余的最大正方形边长。
样例输入 Copy
6 4
样例输出 Copy
2
程序
#include<iostream>
#include<fstream>
#include<algorithm>
using
namespace
std;
int
n,b,f;
int
main()
{
cin>>n>>b;
for
(
int
i=100000;i>0;i--)
{
if
(n%i==0 && b%i==0)
{
f=i;
break
;}
}
cout<<f;
return
0;
}
小知识:break
C++ break 语句
C++ 中 break 语句有以下两种用法:
- 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
- 它可用于终止 switch 语句中的一个 case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
语法
C++ 中 break 语句的语法:
break;
- 1
流程图
C++ break 语句
实例
#include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
int a = 10;
// do 循环执行
do
{
cout << "a 的值:" << a << endl;
a = a + 1;
if( a > 15)
{
// 终止循环
break;
}
}while( a < 20 );
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
当上面的代码被编译和执行时,它会产生下列结果:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
- 1
- 2
- 3
- 4
- 5
- 6