太自由

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  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 }

 

posted on 2016-03-21 13:42  太自由  阅读(443)  评论(0编辑  收藏  举报