求一个计算1到100以内所有质数之和的JAVA程序代码以及以及位码和流程图,我是JAVA初学者,求帮助,谢谢!

如题所述

原理:用一个数除以,除它本身和1以外的所有数,都不能整除;
public static void main(String args[])
{
int i, j; //声明变量i,j;
int sum=0; //声明sum初始值为0;
for (i = 2; i <= 100; i++) //1至100的数,被除数
{
for (j = 2; j <i; j++) //除数
{
if (i % j == 0) {
break; //如果余数为0这跳出if跳到第一个for循环,再次执行
}
if (j >=(i-1)) //满足第一个if并满足第二个if则输出i的值
{ sum=sum+i; //所有素数相加;
System.out.println(i);//输出i的值
}
}
System.out.println("所有素数何为"+sum);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-30
大概的流程图:首先从100中抽取某个数字----->判断该数字是否为质数(只要将该数字除以/(1到该数字的1/2)次,假如出书=0就不是质数,反之,就是质数。)------>假如是质数则相加sum=sum+i;----->等到该数大于100了 则----->输出 sum(质数的总和)。
public class test{
// 判断一个数 是否为质数;返回true就是质数
public static boolean zhishu(int num)
{
boolean bl = true;
for (int i = 2; i <= Math.Sqrt(num) && bl == true; i++)
if (num % i == 0) bl = false;
return bl;
}
public static void Main(string[] args)
{
int sum=0;
for (int i = 1; i <= 100; i++)
{
if (zhishu(i))
sum += i;
}
System.out.println("1~~100的所有质数之和是:" + sum);
}
}
第2个回答  2011-09-30
我写了代码,流程图什么的,你看自己试着画吧~~~~
public class ZhiShu{
// 判断一个数 是否为质数;返回true就是质数
public static bool zhishu(int num)
{
bool bl = true;
for (int i = 2; i <= Math.Sqrt(num) && bl == true; i++)
if (num % i == 0) bl = false;
return bl;
}
public static void Main(string[] args)
{
int sum=0;
for (int i = 1; i <= 100; i++)
{
if (zhishu(i))
sum += i;
}
System.out.println("1~~100的所有质数之和是:" + sum);
}
}
第3个回答  2011-10-01
public class ZhiShu{
public static bool zhishu(int num)
{
bool bl = true;
for (int i = 2; i <= Math.Sqrt(num) && bl == true; i++)
if (num % i == 0) bl = false;
return bl;
}
public static void Main(string[] args)
{
int sum=0;
for (int i = 1; i <= 100; i++)
{
if (zhishu(i))
sum += i;
}
System.out.println("1~~100的所有质数之和是:" + sum);
}
}
第4个回答  2011-09-30
递增
相似回答