📄 gongyueshu.java
字号:
import javax.swing.JOptionPane;
public class Gongyueshu
{
public static void main(String[] args)
{
String mString=JOptionPane.showInputDialog(null,"请输入一个整数m:","最大公约数的求解--输入",JOptionPane.QUESTION_MESSAGE);
int m=Integer.parseInt(mString);
String nString=JOptionPane.showInputDialog(null,"请输入一个整数n:","最大公约数的求解--输入",JOptionPane.QUESTION_MESSAGE);
int n=Integer.parseInt(nString);
int a,b,v,r,cishu=0; //方法1数据定义
int c,d,t,x=0; //方法2数据定义
int e,p,i=-1,j=-1,f,g,k,l,q; //方法3数据定义
if(m>n)
{
a=m;
b=n;
}
else
{
a=n;
b=m;
}
c=a; //方法2数据定义
d=b;
f=a; //方法3数据定义
g=b;
int[] s1=new int[f];
int[] s2=new int[g];
{
{//用欧几里德算法
if(a%b==0)
{
v=b;
cishu=1;
}
else
{
do
{
r=a%b;
a=b;
b=r;
cishu++;
}while(r!=0);
v=a;
}
}
{ //从较小数求解两个数的最大公约数
if(c%d==0)
{
x=d;
}
else
{
for(t=d;t>1;t--)
{
if((c%t==0)&&(d%t==0))
{
x=t;
break;
}
else
x=1;
}
}
}
{//用两个数的所有公约数进行比较
for(e=f;e>=1;e--)
{
if(f%e==0)
{
j=j+1;
s1[j]=e;
}
}
for(p=g;p>=1;p--)
{
if(g%p==0)
{
i=i+1;
s2[i]=p;
}
}
for(l=0;l<i-1;l++)
for(q=0;q<j-1;q++)
{
if(s1[q]==s2[l])
break;
}
k=s2[l];
}
}
String output="整数"+m+"和"+n+"的最大公约数是:\n"+
"(1)欧几里德算法:"+v+ "\n"+
"执行次数是:"+cishu+"\n"+
"(2)从较小数求解两个数的最大公约数:"+x+"\n"+
"(3)用两个数的所有公约数进行比较:"+k+"\n";
JOptionPane.showMessageDialog(null,output,"最大公约数的求解--输出",JOptionPane.INFORMATION_MESSAGE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -