搜索
首页 电脑/网络 软件

两个数的和是667

  两个数的和是667,最小公倍数与最大公约数之比为120:1,求这两个数,并打出最小公倍数和最大公约数有谁能能帮我分析一下:我所编写的程序哪里有误,应该如何改?为什么?#include "stdio。h"#include "conio。h"#include"math。
  h"main(){int a,b,m,n,r,i,n1,n2;for(i=1;i<334;i++){m=667-i;n=i;n1=m,n2=n;}while(n!=0)/*利用辗除法,直到n为0为止*/ {r=m%n;m=n;n=r;a=m;b=(n1*n2)/m;if(b==120*a);printf("%d %d",n1,n2);printf("%d,%d",a,b);}getch();}。
  

全部回答

2006-08-23

0 0
    分太低了 你的程序实在让人看着害怕: #include #include int GetMinMultiple(int m,int n); int GetMaxDivisor(int m,int n,int c); void main() { int base=667; int cMul=1; int cDiv=1; for(int i=1;i<=base;i++) { cMul=GetMinMultiple(i,base-i);//得到最大公约数 cDiv=GetMaxDivisor(i,base-i,cMul);//有m,n,cMul得到最小公倍数 if((cDiv/cMul)==120) break;//如果满足120倍条件结束 } printf("Num1:%d,Num2:%d,cMul:%d,cDiv:%d",i,base-i,cMul,cDiv); return ; } //求最大公约数 int GetMinMultiple(int m,int n) { int tmp; while ((m%n)!=0) { tmp=m % n; m=n; n=tmp; } return n; } //求最小公倍数 int GetMaxDivisor(int m,int n,int c) { return (m/c)*(n/c)*c; } 结果: Num1:115,Num2:552, , 。
    。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报