1 /* 2 一、计算一个3位数的各位数字。 3 输入一个3位数n,分别求出 n 的个位数字(c)、十位数字(b)和百位数字(a)的值。 4 5 输入输出示例: 6 输入: 7 152 8 输出: 9 number152:digit1=2,digit2=5,digit3=1 10 */ 11 12 import java.util.Scanner; 13 class Test_1 14 { 15 public static void main(String[] args) 16 { 17 int a,b,c,n; 18 Scanner in = new Scanner(System.in); 19 n = in.nextInt(); 20 21 c = n/100; 22 23 b = (n%100)/10; 24 25 a = (n%100)%10; 26 27 System.out.println("number"+n+":digit1="+c+",digit2="+b+",digit3="+a); 28 } 29 } 30 31 32 /* 33 二、数字加密。 34 输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。 35 例:括号内是说明 36 输入 37 1257 38 输出 39 The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601) 40 */ 41 import java.util.Scanner; 42 class Test_3 43 { 44 public static void main(String[] args) 45 { 46 Scanner in=new Scanner(System.in); 47 int number, digit1, digit2, digit3, digit4, newnum; 48 number=in.nextInt(); 49 50 digit1 = ((number/1000)+9)%10; 51 digit2 = ((number%1000)/100+9)%10; 52 digit3 = ((number%1000)%100/10+9)%10; 53 digit4 = ((number%1000)%100%10+9)%10; 54 55 int t = digit1; 56 digit1 = digit3; 57 digit3 = t; 58 59 int x = digit2; 60 digit2 = digit4; 61 digit4 = x; 62 63 newnum = digit1*1000+digit2*100+digit3*10+digit4; 64 65 System.out.println("The encrypted number is "+newnum); 66 } 67 } 68 69 70 /* 71 三、求n! 72 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 73 读入1 个正整数 n(n<=50),计算并输出n! 。 74 例:括号内是说明 75 输入 76 3 (repeat=2) 77 1 78 10 79 5 80 输出 81 1.0 82 3628800.0 83 120.0 84 85 */ 86 import java.util.Scanner; 87 class Test_4 88 { 89 public static void main(String[] args) 90 { 91 int ri,repeat; 92 int i,n; 93 double fact=1; 94 Scanner in = new Scanner(System.in); 95 repeat = in.nextInt(); 96 for(ri=1;ri<=repeat;ri++) 97 { 98 n = in.nextInt(); 99 fact = 1; 100 for(i=1;i<=n;i++) 101 { 102 fact*=i; 103 } 104 System.out.println(fact); 105 } 106 } 107 } 108 109 110 /* 111 四、求1+1/3+1/5+1/7+…… 112 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 113 读入1 个正整数 n(n<=100),计算并输出1+1/3+1/5+1/7+……的前n项和。 114 例:括号内是说明 115 输入 116 2 (repeat=2) 117 10 118 3 119 输出 120 2.133256 121 1.5333334 122 123 */ 124 import java.util.Scanner; 125 class Test_6 126 { 127 public static void main(String[] args) 128 { 129 int ri,repeat; 130 int i,n,temp; 131 float sum; 132 Scanner in = new Scanner(System.in); 133 repeat = in.nextInt(); 134 for(ri=1;ri<=repeat;ri++) 135 { 136 n = in.nextInt(); 137 temp = 1; 138 sum = 0; 139 for(i=1;i<=n;i++) 140 { 141 sum+=1.0f/temp; 142 temp+=2; 143 } 144 System.out.println(sum); 145 } 146 } 147 } 148 149 /* 150 五、求各位数字的立方和等于它本身的数。 151 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 152 输入2 个正整数m和n(1<=m,n<=1000),输出m 和n之间所有满足各位数字的立方和等于它本身的数。 153 输出语句:System.out.println(i); 154 155 例:括号内是说明 156 输入: 157 2 (repeat=2) 158 100 400 (m=100, n=400) 159 1 100 (m=1, n=100) 160 输出: 161 153 (1*1*1+5*5*5+3*3*3=153) 162 370 (3*3*3+7*7*7=370) 163 371 (3*3*3+7*7*7+1*1*1=371) 164 1 165 166 */ 167 import java.util.Scanner; 168 class Test_7 169 { 170 public static void main(String[] args) 171 { 172 int ri,repeat; 173 int i,digit,m,n,number,sum; 174 Scanner in = new Scanner(System.in); 175 repeat = in.nextInt(); 176 for(ri=1;ri<=repeat;ri++) 177 { 178 m = in.nextInt(); 179 n = in.nextInt(); 180 System.out.println(); 181 for(i=m;i<=n;i++) 182 { 183 number = i; 184 sum = 0; 185 while(number>0) 186 { 187 digit = number%10; 188 sum = sum+digit*digit*digit; 189 number = number/10; //丢掉个位数. 190 } 191 if(i==sum) 192 System.out.println(i); 193 } 194 System.out.println(); 195 } 196 } 197 } 198 199 /* 200 六、求a+aa+aaa+aa…a 201 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 202 输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。 203 204 例:括号内是说明 205 输入 206 2 (repeat=2) 207 2 3 (a=2, n=3) 208 8 5 (a=8, n=5) 209 输出 210 246 (2+22+222) 211 98760 (8+88+888+8888+88888) 212 */ 213 import java.util.Scanner; 214 class Test_8 215 { 216 public static void main(String[] args) 217 { 218 int ri, repeat; 219 int i, n, a, sn, tn; 220 Scanner in=new Scanner(System.in); 221 repeat=in.nextInt(); 222 for(ri=1; ri<=repeat; ri++) 223 { 224 a=in.nextInt(); 225 n=in.nextInt(); 226 sn = 0; 227 tn = 0; 228 for(i=0;i<n;i++) 229 { 230 sn = sn*10+a; 231 tn = tn+sn; 232 } 233 System.out.println(tn); 234 } 235 236 } 237 }