您的位置:程序门 -> java -> j2se / 基础类



为什么没有输出最大公约数


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


为什么没有输出最大公约数
发表于:2007-03-24 11:23:58 楼主
class   hdigui
{
public   static   void   main(string[]args)
{
hdigui   a   =   new   hdigui();
a.gcd(6,8);
}
static   int   gcd(int   n   ,int   m)
{
int   temp   ;

while(m!=0)
{
temp   =   n;
n   =   m;
m   =   temp   %   m;
}

return   m;
}
}
发表于:2007-03-24 11:29:551楼 得分:0
public   static   void   main(string[]args)
{
hdigui   a   =   new   hdigui();
system.out.println(a.gcd(6,8));
}
发表于:2007-03-24 11:53:352楼 得分:0
晕了,原来是没打出来
发表于:2007-03-24 14:36:543楼 得分:0
你的gcd(int   a,   int   b)函数也没有写对,这样取不到最大公约数的.
发表于:2007-03-24 15:05:364楼 得分:0
static   int   gcd(int   n   ,int   m)   {
int   temp   =   0;
int   max;
int   min;
if   (n   <=   m)   {
min   =   n;
max   =   m;
}   else   {
min   =   n;
max   =   m;
}
if   (max   %   min   ==   0)   {
temp   =   min;
}   else   {
for   (int   i   =   (min   /   2);   i   >   0;   i--)   {
if   (min   %   2   !=   0)   {
i   =   i   -   1;
}
if   (max   %   i   ==   0)   {
temp   =   i;
break;
}   else   {
temp   =   1;
}
}
}
return   temp;
}
方法写的很累赘,很希望大虾们指点下.
发表于:2007-03-24 15:14:595楼 得分:0
不算累赘,c里面就是这个算法


快速检索

最新资讯
热门点击