求1到99999999中有几个合数 用代码表示出来 还有输出结果eclipse操作 类名为Test
public class Test {
public boolean isPrime(int k) {
boolean flag = true;
int max = (int) Math.sqrt(k);
if(k==1||k==0){
flag = false;
}
for (int i = 2; i <= max; i++) {
if (k % i == 0) {
flag = false;
break;
}
}
return flag;
}
public static void main(String args[]){
Test t=new Test();
boolean s;
int count = 0;
for(int i=0; i<99999999; i++) {
if (!t.isPrime(i)) {
count++;
}
}
System.out.println(count);
}
public class Test {
public boolean isPrime(int k) {
boolean flag = true;
int max = (int) Math.sqrt(k);
if(k==1||k==0){
flag = false;
}
for (int i = 2; i <= max; i++) {
if (k % i == 0) {
flag = false;
break;
}
}
return flag;
}
public static void main(String args[]){
Test t=new Test();
int count = 0;
for(int i=0; i<99999999; i++) {
if (!t.isPrime(i)) {
count++;
}
}
System.out.println(count);
}
写个for循环即可,然后循环内统计一下数量就行了,最后打印
public class Test {
public static void main(String[] args) {
// 循环
int count = 0;
for (int n = 2; n <= 99999999; n++)
{
// 循环相除
for (int i = 2; i <= Math.sqrt(n); i++)
{
// 如果找到一个数能整除,则为合数
if (n % i == 0)
{
count++;
// 跳出循环
break;
}
}
}
System.out.println(count);
}
}
以上。
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
Integer max = 99999999;
for (int i=1;i<=max;i++){
Boolean flag = false;
for (int j =0;j<max;j++){
if (j==1 || j==1 || j==i){
continue;
}
if (j%i==0){
flag = true;
break;
}
}
if (flag){
list.add(i);
}
}
System.out.println("数量是:" + list.size());
System.out.println("数据是:" + list);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
public class Test {
public static void main(String[] args) {
int count = 0;
for (int i = 2; i <= 99999999; i++) {
if (!isPrime(i)) { // 如果不是质数,则是合数
count++;
}
}
System.out.println("1到99999999中有" + count + "个合数。");
}
// 判断一个数是否为质数
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
使用了一个循环来遍历1到99999999中的所有数字,每次判断该数字是否为质数,如果不是质数,则累计合数的个数。
判断质数的方法是,从2开始到该数的平方根之间遍历所有数字,如果其中有一个数字能整除该数,则该数不是质数,否则是质数。