7-4 JAVA-水仙花数
水仙花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 要求编写程序,计算所有N位水仙花数。
import java.util.*;
public class Main{
public static long pows(long n, int t){
long sum = 1;
for(int i = 0; i < t; ++ i ){
sum *= n;
}
return sum;
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
long num = pows(10, n - 1);
for( long i = num; i < num * 10; i ++ ){
long t = 0;
long numt = i;
long sum = 0;
while( numt > 0 ){
t = numt % 10;
numt /= 10;
sum += pows(t, n );
}
if( sum == i ){
System.out.println(i);
}
}
cin.close();
}
}
7-1 Java中二进制位运算 (20分)
本题目要求读入2个整数和一个字符,然后根据这个字符值,对两个整数进行相应的二进制位的运算。要求必须使用switch选择结构。
(1)如果字符是&,则两个整数进行二进制位的与运算;
(2)如果字符是 |,则两个整数进行二进制位的或运算;
(3)如果字符是^,则两个整数进行二进制位异或运算;
(4)如果是其他字符,则固定输出信息:ERROR
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
int a=in.nextInt();
String s=in.next();
int b=in.nextInt();
switch(s){
case “&”:
System.out.println(a+" & “+b+” = “+(a&b));
break;
case “|”:
System.out.println(a+” | “+b+” = “+(a|b));
break;
case “^”:
System.out.println(a+” ^ “+b+” = "+(a^b));
break;
default:System.out.println(“ERROR”);
}
}
}
一个构造函数的回忆
public class Main {
public static void main(String[] args) {
RR r = new RR(false);
}
}
class RR{
public RR(){
System.out.print(“8”);
}
public RR(int x){
this();
System.out.print(".");
}
public RR(boolean b){
this(1);
System.out.print(“00”);
}
}