- package ma.jun;
- //第2题答案[code]package ma.jun;
- //第1题答案
- public class SumDemo {
- /**
- * 1. 打印输出一百以内的素数的累加和...
- *
- * ===========================================================
- * 运行结果
- * ===========================================================
- * 100以内素数有:2
- 100以内素数有:3
- 100以内素数有:5
- 100以内素数有:7
- 100以内素数有:11
- 100以内素数有:13
- 100以内素数有:17
- 100以内素数有:19
- 100以内素数有:23
- 100以内素数有:29
- 100以内素数有:31
- 100以内素数有:37
- 100以内素数有:41
- 100以内素数有:43
- 100以内素数有:47
- 100以内素数有:53
- 100以内素数有:59
- 100以内素数有:61
- 100以内素数有:67
- 100以内素数有:71
- 100以内素数有:73
- 100以内素数有:79
- 100以内素数有:83
- 100以内素数有:89
- 100以内素数有:97
- 100以内素数和为:1060
- */
- public static void main(String[] args) {
- primeSum();
- }
- //判断 100之内的素数
- public static void primeSum() {
- int sum = 0;
- for (int i = 2; i <= 100; i++) {
- int j;
-
- for (j = 2; j <= i-1; j++) {
- // 拿要循环的数i 从2开始 除以 i-1之间的所有数 能整除代表不是素数
- if (i % j == 0){
- break;
- }
- }
- if (j >= i) {
- System.out.println("100以内素数有:"+i);
- sum+=i;
- }
- }
- System.out.println("100以内素数和为:" + sum);
- }
- }
复制代码 第3题研究中....
public class PrintPrimeDemo {
/**
* 将该数组由小到大进行排列,数组中的素数全部赋值为零,并 按阶梯状输出。
*
数组: 2 5 9 10 48 95 154 31 59 69
运行结果
===============================================================
排序前:
arr[2,5,9,10,48,95,154,31,59,69]
排序后:
arr[2,5,9,10,31,48,59,69,95,154]
替换素数后:
arr[0,0,9,10,0,48,0,69,95,154]
按规则输出后:
0
0
9
10
0
48
0
69
95
154
*/
public static void main(String[] args) {
int[] arr={2,5,9,10,48,95,154,31,59,69};
System.out.println("排序前:");
printArr(arr);
sortArr(arr);//进行数组排序
System.out.println("排序后:");
printArr(arr);//排序后
replacePrime(arr);//替换素数
System.out.println("替换素数后:");
printArr(arr);
System.out.println("按规则输出后:");
ruleOutArr(arr);//按规则输出
}
//替换 素数 4
public static void replacePrime(int arr[]){
for(int x=0;x<arr.length;x++){
int j;
for(j=2;j<arr[x];j++){
if(arr[x]%j==0){
break;
}
}
if(j>=arr[x]){
// 把0赋值给 x; 即素数
arr[x]=0;
}
}
}
// 排序数组
public static void sortArr(int arr[]){
for(int x=0;x<arr.length;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
// 数值替换
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
// 打印数组
public static void printArr(int arr[]){
System.out.print("arr[");
for(int x=0;x<arr.length;x++){
if(arr[x]==arr[arr.length-1])
System.out.print(arr[x]+"]");
else
System.out.print(arr[x]+",");
}
System.out.println();
}
// 规则输出数组
public static void ruleOutArr(int arr[]){
for(int x=0;x<arr.length;x++){
for(int y=0;y<x;y++){
System.out.print(" ");//打印空格
}
System.out.println(arr[x]);
}
}
}[/code] |