题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。
package com.atguigu.java;
import java.util.Scanner;
/**
*
* @create 2021-04-10 15:16
* 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。
分析:输入的a是多少
几个数相加
*/
public class Example8 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入相加的值: ");
int a = sc.nextInt();
System.out.println("输入相加的次数: ");
int num = sc.nextInt(); //相加的次数
double sum = 0;
for(int j = 1;j<=num;j++){
sum = sum + recursion(a,j);
}
System.out.println("和为:"+sum);
}
public static double recursion(int a,int num){
double temp;
double sum = 0 ;
for(int i = 1;i<=num;i++ ){
temp = 2*Math.pow(10,i-1);
sum = sum +temp;
}
return sum;
}
}
题目:判断任意一个输入的整数是否是完数。一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.
import java.util.Scanner;
/**
*
* @create 2021-04-10 16:28
*
* 分析:因子:就是除了本省之外能够被整除的数
* 判断任意一个输入的整数是否是完数
*/
public class Example9 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输出一个整数:");
int num = sc.nextInt();
int sum =0;
for(int i = 1;i<num;i++){
if(num%i==0){
sum+=i;
}
}
if(sum == num){
System.out.println(num+"是完数");
}
}
}
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数并统计个数。
/**
*
* @create 2021-04-10 16:40
* 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
*/
public class Example9_1 {
public static void main(String[] args){
int count = 0;
for(int num = 1;num<1000;num++){
int sum =0;
for(int i = 1;i<num;i++){
if(num%i==0){
sum+=i;
}
}
if(sum == num){
System.out.println(num+"是完数");
count++;
}
}
System.out.println("1000以内共有完数"+count+"个");
}
}
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
少米?第10次反弹多高?
/**
*
* @create 2021-04-10 18:27
* 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
* 少米?第10次反弹多高?
*
*/
public class Example10 {
public static void main(String[] args){
double height = 100;
double sum = 0;
for(int i = 1;i<=10;i++){
if(i == 1){
sum = sum + height;
height = height/2;
}else{
sum = sum + 2*height;
height = height/2;
}
}
System.out.println("一共经历"+sum+"米");
System.out.println("第10次反弹"+height +"米");
}
}
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
/**
*
* @create 2021-04-10 18:41
* 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
* 用排列组合求解:C41+C31+C21=24个
*/
public class Example11 {
public static void main(String[] args){
int i = 0; //百位数字
int j = 0; //保存到十位上的数字
int k = 0; //保存到个位上的数字
int count = 0; //保存数字的个数
for(i = 1; i <= 4; i++) {
for(j = 1; j <= 4; j++) {
for(k = 1; k <= 4; k++) {
if(i != j&& j != k && i!= k) { //保证互不相同且无重复数字
count++;
System.out.println(i*100 + j*10 + k);
}
}
}
}
System.out.println("总共能够组成" + count + "个互不相同且无重复数字的三位数");
}
}
题目来源: https://blog.csdn.net/qiucaijuan/article/details/6650925