一:门牌制作
public class Main {
public static void main(String[] args) {
int num=0;
for (int i = 1; i <2021 ; i++) {
if(i/1000==2)
num++;
if((i/100)%10==2)
num++;
if((i/10)%10==2)
num++;
if(i%10==2)
num++;
}
System.out.println("2的个数为"+num);
}
}
改进算法
将每个数转化为字符数组 一个个判断每一个数
public static void main(String[] args) {
int ans=0;
for (int i = 1; i <= 2020; i++) {
char[] c=Integer.toString(i).toCharArray();
for (int j = 0; j < c.length; j++) {
if (c[j]=='2') {
ans++;
}
}
}
System.out.println(ans);
}
二:既约分数
public class Main2 {
public static boolean isMutuality(int a,int b){
for (int i = 2; i <=(a>b?b:a) ; i++) {
if(a%i==0&&b%i==0)
return false;
}
//辗转相除法
//if (b == 0) {
// return a;
// }
// return gcb(b, a % b);
return true;
}
public static void main(String[] args) {
int num=0;
for (int i = 1; i <2021 ; i++) {
for (int j = 1; j <2021 ; j++) {
if(isMutuality(i,j))
num+=1;
}
}
System.out.println("既约分数个数为"+num);
}
}
三:蛇形填数
public class Main3 {
public static void main(String[] args) {
int a=1;
int b;
// 后面一项等于前面一项加上4*(i-1)
for (int i = 1; i <20; i++) {
b=a;
a=b+4*i;
}
System.out.println(a);
}
}