急求一道C语言问题答案! 20

求两个整数a,b(假设a>b)的最大公约数.通常采用"辗转相除"法:1)a除以b得余数r;若r=0,则b为所求的最大公约数。2)若r!=0,以b为a,r为b,继续1)。... 求两个整数a,b(假设a>b)的最大公约数.通常采用"辗转相除"法:1)a除以b得余数r;若r=0,则b为所求的最大公约数。2)若r!=0,以b为a,r为b,继续1)。 展开
 我来答
A蒙德
2010-12-08 · TA获得超过169个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:99.4万
展开全部
#include<圆脊iostream>
using namespace std;
int main()
{
int gcd(int f,int d);
int f,d,r;
cout<<"输入两个整数f d:\n";
cin>>f;
cin>>d;
r=gcd(f,d);
cout<败腔链<"察孙最大公约数="<<r<<endl;
return 0;
}
int gcd(int f,int d)
{
int x,y,r;
x=f;
y=d;
do{
if(y==0){
return x=gcd(f,d);
}
if(y==1){
return y=gcd(f,d);
}
r=x%y;
x=y;
y=r;
}while(r!=0);
return x;
}
匿名用户
2010-12-09
展开全部
void main()
{
int i=10,j=1,atob=0,btoa=0; atob是陌生人给富人的钱数,单位:万元
btoa是富人给陌生人的钱数,单位分
int t;
for (int k=1;k<=30;k++) 从第一天到第30天
{
atob+=10; 每天陌生人给富人10万
if (k==1) 如果是第一天
t=1; 富人给陌生人1分
else 如果不是第一天
t=2*t; 富人给的钱是前一天的两倍
btoa+=t; 加到总数里面
}
cout<<"穷人给富人"<<atob<<"万神虚元"<<endl; 输出陌生人给富人的钱数
cout<<"富人给穷人"<<btoa<<"分,折合"<袭唤<btoa/1000000<<"万元"<<endl;
输出富人给陌游禅燃生人的钱数,主要,单位从分变成万元,要除以1000000
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
612阿狸
2010-12-15
知道答主
回答量:10
采纳率:0%
帮助的人:7.2万
展开全部
辗转明简相除瞎枣法
void main
{int m,n,gys,t,r;
scanf("%d%d",&m,&n);
t=m<n?m:n;
if (m<磨槐拆n) {t=m;m=n;n=t;}
r=m%n;
while(r!=0)
{m=n;
n=r;
r=m%n;}
printf("%d\n",n);}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式