1、输入一个数,判断是否为素数
public static boolean isPrime(int num) {
if (num == 1){
System.out.println("1不是素数也不是质数");
return false;
}else {
for (int i = 2; i < num; i++) {
if (num%i==0){
System.out.println(num+"不是素数");
return false;
}
}
System.out.println(num+"是素数");
return true;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
isPrime(scanner.nextInt());
}
结果演示:


2、求一个数字的二进制当中1的个数?
public static int numberOf1(int num) {
int count = 0;//定义一个计数器
for (int i = 0; num !=0 ; i++) {//条件是num不等于0,其实这里用while更好一点
if ( (num & 1)!=0){//如果数字与1相与不等于0
count ++;
}
num = num >>> 1;//将二进制数向右移动一位,高位用0补齐
}
System.out.println("这个数的二进制中1有:"+count+"个");
return count;
}
public static int numberOfOne(int num) {
int count = 0;
while(num != 0) {//条件是num不等于0
count++;
num = num & (num -1);//将数字与比它小一的数字相与
num = num >>> 1;//将二进制数向右移动一位,高位用0补齐
}
System.out.println("这个数的二进制中1有:"+count+"个");
return count;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
numberOf1(scanner.nextInt());
}
结果演示:

3、所有三位数的水仙花数
public static void shuiXianHuaNumber(int n) {
int a = 0;//个位
int b = 0;//十位
int c = 0;//百位
for (int i = 100; i < n; i++) {
a = i%10;//个位
b = i%100/10;//十位
c = i/100;//百位
if (a*a*a+b*b*b+c*c*c == i){
System.out.println("水仙花数有:"+i);
}
}
}
public static void main(String[] args) {
shuiXianHuaNumber(1000);
}
结果演示:

4、求一个数(int类型)是否是完数
public static boolean isPerfect(int num) {
int sum = 0;
for (int i = 1; i < num; i++) {
if ( num%i == 0){//如果可以整除
sum += i;//赋予给sum值
}
}
if (num == sum && num != 0){//如果累加的值和原数相等并且原数不为0
System.out.println(num+"是完数");
return true;
}
System.out.println(num+"不是完数");
return false;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
isPerfect(scanner.nextInt());
}
结果演示:


5、求a+aa+aaa+aaaa的和? 参数n=4
public static void dieNumber(int a,int n) {
int num = a;
int c = 0;
int sum;//表示和
for (int i = 1; i < n; i++) {
a = a * 10 + num ;//例如:2*10+2的值赋给a
c += a ;
}
sum = c + num ;
System.out.println("和:" + sum);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入一个数");
int a = scanner.nextInt();
System.out.println("输入参数");
int n = scanner.nextInt();
dieNumber(a,n);
}
结果演示:

6、求斐波那契数列的第n项
public static void fabonacio(int n) {
int a = 1;
int b = 1;
int c = 0;
int sum = 2;//定义前两项的和
for (int i = 2; i < n; i++) {
c = a+b;//求下一项的数
a = b;
b = c;
sum += c;//不断求前几项的和
}
System.out.println("前"+n+"项的和为"+sum);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
fabonacio(scanner.nextInt());
}
结果演示:

7、用for循环产生20个随机数?
public static void RandomNum(int n) {
Random random = new Random();//调用函数
for (int i = 0; i < n; i++) {
System.out.print(random.nextInt(10)+" ");//控制随机数范围
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
RandomNum(scanner.nextInt());//输入产生随机数的个数
}
结果演示:

本文提供了一系列使用Java编程语言解决数学问题的实例,包括素数判断、二进制中1的个数计算、水仙花数查找、完数验证、特定序列求和、斐波那契数列生成及随机数生成。
6495

被折叠的 条评论
为什么被折叠?



