四、最小公倍数最大公约数问题:
分析:两个数的最小公倍数等于两个数相乘再除以他们的最大公约数,因此只要求出最大公约数就可以啦。
package JingDian; public class yuebeishu { //用来求最大公约数的函数(debug看结果吧,好巧妙) public static int gcd(int m,int n) { while(true) { if((m=m%n)==0) { return n; } if((n=n%m)==0) { return m; } System.out.println("m值"+m+"\tn值"+n); } } public static void main(String[] args) throws Exception { int a=23,b=32; int c=gcd(a,b); System.out.println("最小公倍数:"+a*b/c+"\n最大公约数:"+c); } }
五、求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
package JingDian; import java.io.InputStreamReader; import java.util.Scanner; public class dieshuhe { public static void main(String[] args) { System.out.println("请输入最大的a的值:"); int result =0; int st = 0; int i=1; //获取键盘输入 Scanner sc = new Scanner(new InputStreamReader(System.in)); String input = sc.next(); String [] str=new String[input.length()]; for(int tmp=0;tmp<input.length();tmp++) { if(i>input.length()) { break; } //str[tmp]中装的是input的前tmp个字母因此本程序不仅可以计算当a输入为4444时候4+44+444+4444这样的表达式, //还可以计算a暑促为432时4+43+432这样的表达式,只要输入最大的那个数就可以了。 str[tmp]=input.substring(0,i); i++; //将str[tmp]解析为整数进行相加 st = Integer.parseInt(str[tmp]); result = result + st; } System.out.println(result); } }