// 打印空心菱形//打印上半边的等腰三角形for(int i =0; i <7; i++){for(int j =6; j > i; j--){System.out.print(" ");}for(int k =0; k <2* i +1; k++){if(k ==0||((2* i +1)- k)==1){System.out.print("*");}else{System.out.print(" ");}}System.out.println("");}//打印下半边的等腰三角形for(int i =0; i <6; i++){for(int j =0; j <= i; j++){System.out.print(" ");}for(int k =0; k <2*5-2* i +1; k++){//k <2*总行数-2*当前行数+1if(k ==0||((2*5-2* i +1)- k)==1){System.out.print("*");}else{System.out.print(" ");}}System.out.println("");}
题型二(斐波拉契数列题目)
// 计算1,1,2,3,5,8,13这样的...此数据第三项是前两项的和……求前20位数字的和// 可以看作(1,0,)1,1,2,3,5,8,13这样的...此数据第三项是前两项的和……求前20位数字的和int ji =1;//定义第一项为jiint ou =0;//定义第二项为ouint c =0;//定义第三项为c=ji+ouint sum =0;for(int i =0; i <20; i++){
c = ji + ou;
ji = ou;//把现在的奇数项变成原来的偶数项
ou = c;//把现在偶数项变成原来前2项之和
sum += c;}System.out.println(sum);
题型三(计算 1+22+333+4444+…666666的和)
// 计算 1+22+333+4444+...666666的和//题目解析// 1 2*10+2 3*100+3*10+3 4*1000+4*100+4*10+4 ...// 1*10(0) 2*10(2-1)+2*10(2-2) 3*10(3-1)+3*10(3-2)+3*10(3-3)// i*10(i-1) i*10(i-1)+i 3*10(i-1)+3*10(i-2)+3*10(i-3)int ss =0;//定义一个累加器for(int j =1; j <=6; j++){double num =0;//每次把num加到ss总数里面就把num重置,否则会对后面结果产生影响for(int i =1; i <= j; i++){double sum =1;//每次重置一下sum的值
sum = sum * j *Math.pow(10,(j - i));
num += sum;//1 22 333 4444 55555 666666}
ss += num;System.out.println((int) num);// 1 22 333 4444 55555 666666}System.out.println((int) ss);