java 运算
发布网友
发布时间:2022-04-27 12:49
我来回答
共6个回答
热心网友
时间:2023-09-20 20:37
public static void main(String[] args) {
int sum = 0;
System.out.println("100以内的素数如下:");
for (int i = 1; i < 101; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0)
break;
else if (j == i - 1) {
sum += i;
System.out.print(i + " ");
}
}
}
System.out.println();
System.out.println("所有素数之和为:" + sum);
}
如有疑问,请追问;如有帮助,还望采纳一下,谢谢
追问怎么没有输出2的?
追答
抱歉,确实是一个BUG,考虑不周,直接将2忽略了
public static void main(String[] args) {
int sum = 0;
int count = 0;
System.out.println("100以内的素数如下:");
for (int i = 2; i < 101; i++) {
for (int j = 2; j <= i; j++) {
if (i % j == 0 && i != 2 && i != j) {
break;
} else if (j > i - 1) {
sum += i;
count ++;
System.out.print(i + " ");
}
}
}
System.out.println();
System.out.println("所有素数之和为:" + sum);
System.out.println("素数总个数为:" + count);
}
运行结果:
100以内的素数如下:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
所有素数之和为:1060
素数总个数为:25
热心网友
时间:2023-09-20 20:37
class Sushu
{
public static void main(String args[])
{
int i, j;
for (i = 1; i <= 100; i++)
{
for (j = 2; j < i; j++)
if (i % j== 0) break;
if(j<i)
continue;
else
System.out.print(i);
}
}
}
热心网友
时间:2023-09-20 20:37
public static void main(String[] sf) {
int max = 100;
int h = 0;
for (int i = 2; i <= max; i++) {
for (int j = 2; j < i / 2 + 1; j++) {
float f1 = i;
float f2 = j;
if (f1 / f2 == i / j) {
break;
} else if(j == i/2-1){
System.out.println("质数:" + i);
h+=i;
}
}
}
System.out.println("质数和:" + h);
}
刚写的, 有问题追问
追问怎么没有输出2的?
追答 public static void main(String[] sf) {
int max = 100;
int h = 0 ;
for (int i = 2; i <= max; i++) {
for (int j = 2; j <= i / 2 + 1; j++) {
if ( i % j == 0 && i!=2) {
break;
} else if(j > i/2){
System.out.println("质数:" + i);
h += i;
}
}
}
System.out.println("和:" + h);
}
抱歉,没有仔细测试, 确实是有BUG, 已修复 。
热心网友
时间:2023-09-20 20:38
package aa;
public class aa {
public boolean isNum(int value){ //是否是素数
boolean result=true;
for(int i=2;i<value;i++){
if(value%i==0){
result=false;
break;
}
}
return result;
}
public static void main(String args[])
{
aa a=new aa();
int result=0;
System.out.println("100以内的素数有:");
for(int i=2;i<=100;i++){
if(a.isNum(i)){
result=result+i;
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("和是:"+result);
}
}
热心网友
时间:2023-09-20 20:39
就这样就可以,有什么不明白再追问吧。
public static int[] test(int num) {
double t = Math.sqrt(num); //只用判断是不是能除尽它的平方根就可以
int result[] = new int[num]; //结果集
int index = 0; //结果的index
for(int i = 1; i < num; i++){//对于0不用判断,所以从1起
int j;
for(j = 2; j < t; j++){//对于1,所有数模1都是0,所以从2起
if(i%j != 0)
continue;
else if(i == j)
continue;
else
break;
}
if(j >= t) {
result[index] = i;
index++;
}
}
return result;//返回结果集
}
public static void main(String[] args) {
int r[];
r = test(100);//取100以内的,设置为别的也可以
for(int res : r){
System.out.println(res);//输出结果
}
}
热心网友
时间:2023-09-20 20:39
这个很简单呀,
public static void main(String[] args){
int sum=0;
for(int i=2;i<=100;i++){
if(prime(i)){
sum+=i;
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("1-100素数之和为:"+sum);
}
public static boolean prime(int n){
boolean flag=true;
for(int i=2;i<=Math.sqrt(n);i++){
if(n%i==0){
flag=false;
break;
}
}
}