27:生成13位条形码
Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
例如:690123456789
计算其校验码的过程为:
前十二位的奇数位和6+0+2+4+6+8=26
前十二位的偶数位和9+1+3+5+7+9=34
将奇数和与偶数和的三倍相加26+34*3=128
取结果的个位数:128的个位数为8
用10减去这个个位数10-8=2
所以校验码为2
(注:如果取结果的个位数为0,那么校验码不是为10(10-0=10),而是0)
实现方法ean13()计算验证码,输入12位条码,返回带验证码的条码。
例:输入:692223361219输出:6922233612192
package com.czxclsalr.daasd;
public class Text29 {
public static void main(String[] args) {
int oushu=0;
int jishu=0;
for (int i=1;i<=12;i++){
int num=(int)(Math.random()10);
System.out.print(num);
if (num%2==0){
oushu=oushu+num;
}else{
jishu=jishu+num;
}
}
int jihe=oushu3+jishu;
int gewei=jihe%10;
int shisanwei=10-gewei;
if (shisanwei==10) {
System.out.print(“0”);
}else{
System.out.print(shisanwei);
}
System.out.println();
}
}
package com.czxclsalr.daasd;
import java.util.Scanner;
28:求两个整数的最大公约数和最小公倍数
最小公倍数:在两个或两个以上的自然数中,如果它们有相同的倍数,
这些倍数就是它们的公倍数,其中除0以外最小的一个公倍数
能除尽这两个数,且最大的数,所以说,要从大到小,减少判断
Scanner sc = new Scanner(System.in);
System.out.println(“输入第一个数:”);
int min = sc.nextInt();
System.out.println(“输入第二个数:”);
int max = sc.nextInt();
int x = 0;
if (max < min) {
x = max;
max = min;
min = x;
}
public class Text30 {
public static void main(String[] args) {
for (int a = min; a > 1; a–) {
if (max % a == 0 && min % a == 0) {
System.out.println(“最大公因数:” + a);
break;
}
}
// 如果最大值是,小的值的倍数,那么,最小公倍数就是最大值的本身
if (max % min == 0) {
System.out.println(“最小公倍数:” + max);
} else {
System.out.println(“最小公倍数:” + max * min);
}
}
}
29:将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法?
package com.czxclsalr.daasd;
public class Text31 {
public static void main(String[] args) {
int sum=0;
for(int i=0;i<=10;i++){
for(int a=0;a<=20;a++){
for(int b=0;b<=100;b++){
if(i10+a5+b==100){
sum++;
}
}
}
}
System.out.println("一共有:"+sum+"兑换方法。");
}
}