1.求所有三位数的水仙花数
public static void fun() {
int a,b,c;
for(int i=100;i<1000;i++){
a = i / 100; //百位
b = i % 100 / 10; //十位
c = i % 10; //个位
if(i == a * a * a + b * b * b + c * c * c){
System.out.print(i+" ");
}
}
}
public static void main(String[] args) {
System.out.println("输出所有三位数的水仙花数:");
fun();
}
2.判断一个数是否是完数
public static boolean fun(int a) {
int sum = 0;
for(int i = 1;i < a;i++){
if(a % i == 0){
sum = sum + i;
}
}
if(sum == a && sum != 0) {
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println("输入一个数来判断它是否是完数:");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
boolean flg = fun(a);
System.out.println(flg);
}
3.求一个数字的位数,并顺序、逆序打印该数字
public static int fun1(int a) {
int sum = 1;
if(a < 0){
a = -a;
}
while(a >= 10){
sum++;
a = a / 10;
}
return sum;
}
public static void printorder(int a,int b){
for(int i = 1;i <= b;i++){
if(a < 0){
a = -a;
System.out.print("- ");
}
if(a == 0){
System.out.print("错误!");
return;
}
int z = a / (int)(power(10,b - i));
System.out.print(z+" ");
a = a % (int)(power(10,b - i));
}
System.out.println();
}
public static void printre(int a,int b){
for(int i = 1;i <= b;i++){
if(a < 0){
a = -a;
System.out.print("- ");
}
if(a == 0){
System.out.print("错误!");
return;
}
int z = a % 10;
System.out.print(z+" ");
a = a / 10;
}
}
public static void main(String[] args) {
System.out.println("输入一个数字:");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = fun1(a);
System.out.println("这个数是"+b+"位数;");
System.out.print("顺序打印:");
printorder(a,b);
System.out.print("逆序打印:");
printre(a,b);
}
4.a+aa+aaa+…的求和
public static void fun(int a,int n) {
int b = 0,sum = 0;
System.out.print("sum = ");
for(int i = 1;i <= n;i++){
b = (int) (b + a * (power(10,i - 1)));
if(i < n) {
System.out.print(b + " + ");
}
if(i == n){
System.out.print(b);
}
sum = sum + b;
}
System.out.print(" = " + sum);
}
public static void main(String[] args) {
System.out.println("输入想要求和的数字(1~9):");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
System.out.println("输入参数n:");
Scanner scanner2 = new Scanner(System.in);
int n = scanner2.nextInt();
fun(a,n);
}
5.前n个斐波那契数的求和
public static void fun(int n) {
int a = 1,b = 1,f = 0,i = 3;
System.out.print(a+" ");
System.out.print(b+" ");
while(i <= n){
f = a + b;
a = b;
b = f;
System.out.print(f+" ");
if(i % 4 == 0){
System.out.println(" ");
}
i++;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
fun(n);
}
6.产生10个11~20范围内的随机数
public static void fun() {
for(int i = 0;i < 10;i++) {
Random random = new Random();
int a = random.nextInt(10) + 11;
System.out.print(a+" ");
}
}
public static void main(String[] args) {
fun();
}
关于注释会有后续补充。