这三个比较简单,今后每天都会在博客上放一些自己写过的程序,以遍以后没事看看
package day03.src;
import java.util.Scanner;
/**
* 素数
* 只能被1和他本身整除的数
* 初始条件
* 循环条件
* */
public class PrimeDemo {
public static void main(String[] args){
System.out.println("请输入一个数");
Scanner sc = new Scanner(System.in);
int paime = sc.nextInt();
boolean t=true;
int i;
for (i=2;i<paime;i++)
{
if(paime%i==0)
{
t=false;
}
}
if(t)
{
System.out.println("是素数");
}
else
{
System.out.println("是素数");
}
// for( i=2;i<paime;i++) //这里注释的这段代码是另一种方法;两种都可以判断一个数是否是素数
// {
// if(paime%i==0)
// {
// break;
// }
// }
// if(paime == i)
// {
// System.out.println("是素数");
// }else{
// System.out.println("不是素数");
// }
}
}
完数
package day04.src;
import java.util.Scanner;
/**
*完数
* 所有因子和(除了他本身)==他本身
*
*/
public class WanNumber {
public static void main(String[] args) {
int i;
for(int num=1;num<=1000;num++) {
int sum = 0;
for( i=1;i<num;i++) {
if(num%i==0) {
sum+=i;
}
}
if(num==sum) {
System.out.println(num);
}
}
}
}
1000以内的完数只有 6 28 496
水仙花数
package day04work.src;
/*水仙花数*///即:三位数的每一位的立方和等于这个三位数本身,那么这个数救是三位数
public class Daffodil {
public static void main(String[] args) {
int sum=0,number;
for( number=100;number<=999;number++) {
int num1 = number%10;
int num10 = number/10%10;
int num100 = number/100%10;
sum=num1*num1*num1+num10*num10*num10+num100*num100*num100;
if(sum==number) {
System.out.println(number+"是水仙花数");
}
}
}
}
水仙花数只有三位数,即153 370 371 407,以上方法不太好,后面遇到新方法会做出补充