C++练习题:判断是否互质

C++练习题:判断是否互质,第1张

C++练习题:判断是否互质

【问题描述】判断两个整数m和n是否互质(即是否有公共的因子)(m!=1,n!=1)。方法是:用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,则m和 n不互质;否则它们互质。
例如,若输入187和85,则应输出No(表示它们不互质,它们有公因子17)。若输入89和187,则应输出yes(表示它们互质)。 

#include
using namespace std;
int main()
{
	int m,n,t;
	cin>>m>>n;     //先输入m,n
	
	//先用if else语句判断m n哪个数更小,令最小的赋值到t 
	if(m>n)
	{
		t=n;
	}
	else
	{
		t=m;
	}
	
    //先设置个变量初始值为0,代表无公因子。若m,n互质若有公因子使result=1。 
	int result=0;

    //用for从2查到t,看是否有公因子
	for(int i=2;i<=t;i++)     
	{
		if(m%i==0 && n%i==0)     //若该数为公因子,则分别能被m,n整除,即m,n取模该数为零   
		{
			result=1;            
  		}
	}
	
	//用if语句判断,如果他们不互质result=1输出No,反之他们互质则输出Yes
	if(result==1)
	{
		cout<<"No";
	} 
	else if(result==0)
	{
		cout<<"Yes";
	}
 } 
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5635957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存