输入2个整数(空格区分),输出最大公约数和最小公倍数(,逗号区分)
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int m,n,max=1,min=1;
cin>>m>>n;
if(m%n!=0&&n%m!=0) //判断两个数是否存在倍数关系
{
for (int i=1;(i<pow(n,0.5))&&(i<pow(m,0.5));i++) //pow(m,n)表示 m^n 这里效率更高。
{
if(n%i==0&&m%i==0)
{
max=i;
}
}
min=m*n/max; //这里最小公倍数直接是两数的乘积除以最大公因数
}
else
{
max=(m<n)?m:n;
min=(m>n)?m:n;
}
cout<<max<<","<<min;
return 0;
}
测试13 24
1 312
求出π的值,根据给出公式π/2=1+1/3+1/3 * 2/5+1/3 * 2/5 * 3/7+…,从键盘输入要求满足的精度。(即前后两次求得的π相差小于输入精度)采用float型,输出采用七位有效数字型如3.xxxxxx。
例如输入0.001,输出3.141106.
首先题目明确指出前后两次求得的Π相差小于输出的精度,即主要是表达前后两次Π即可。
#include <stdio.h>
int main(