Java 打印范围内的所有数字仅显示素数
我已经在这方面工作了两天,完全没有运气。我需要我的程序打印用户给定的范围,并显示该范围内的所有素数。所有非素数都应打印为“-”。我需要每行有10个数字,后跟a,以及行中的最后一个数字。它看起来像这样: 71-73----79---80 我知道我需要使用printf,但在开始新行之前,我不知道在哪里放置print语句,或者如何阻止printf语句在10个数字处停止。我也不知道如何在仍然使用printf的情况下将非素数打印为“-”。我每次尝试都会出错。以下是用户输入号码后的代码:Java 打印范围内的所有数字仅显示素数,java,Java,我已经在这方面工作了两天,完全没有运气。我需要我的程序打印用户给定的范围,并显示该范围内的所有素数。所有非素数都应打印为“-”。我需要每行有10个数字,后跟a,以及行中的最后一个数字。它看起来像这样: 71-73----79---80 我知道我需要使用printf,但在开始新行之前,我不知道在哪里放置print语句,或者如何阻止printf语句在10个数字处停止。我也不知道如何在仍然使用printf的情况下将非素数打印为“-”。我每次尝试都会出错。以下是用户输入号码后的代码: for(d=sta
for(d=start;d<end;d++) {
b=0;
for(c=1;c<=d;c++){
if(d%c==0)
b=b+1;
}
if(b==2){
System.out.printf("%4d", d);
//prints prime numbers with the spacing required
primes=primes+1;
}
}
用于(d=start;d一个选项是制作一个计数器,当计数器%10==0时,您将打印一行新行。我建议您将问题分解为更小的子问题。例如,打印一个初级编号列表,不必担心格式或打印给定范围内的编号,每行10个编号。在您弄清楚如何执行eac之后将它们分开,然后尝试组合起来。编译:gcc prime.c
运行(范围为1-200):/a.输出1200
#include<stdio.h>
#include<math.h>
int isPrime(int n){
if(n==1) return 0;
int i=2;
while(i<=sqrt(n))
if(n%i++==0)
return 0;
return 1;
}
int main(int argc, char *argv[]){
int a,b,count;
if(argc<3)
return 0;
a=atoi(argv[1]);
b=atoi(argv[2]);
count=1;
for(;a<=b;a++){
if(isPrime(a)) printf("%d ",a);
else printf("- ");
if(count++==10){
printf("| %d\n",a);
count=1;
}
}
return 0;
}
#包括
#包括
intisprime(intn){
如果(n==1)返回0;
int i=2;
虽然(我在问了这个问题后很快就明白了,但下面是我使用的代码:
for(d=start;d<=end;d++) {
b=0;
for(c=1;c<=d;c++){
if(d%c==0)
b=b+1;
}
if(b==2){
primes=primes+1;
if(d!=start){
System.out.printf("%4d", d);
}
}else{
if(d!=start){
System.out.printf(" -");
}
}
if(d%10==0&&d!=start){
System.out.printf(" | ");
System.out.printf("%4d", d);
System.out.println();
}
<代码>(d=开始;d< p>)在Python中尝试它给你一个启动点,考虑下面的代码,
def prime_display(n):
for i in range(1, n+1):
if is_prime(i) == True:
print(i, end=' ')
else:
if divisible_by_10(i):
print(f'- | {i}', end='\n')
print('-', end=' ')
def divisible_by_10(n):
if (n % 10) == 0:
return True
return False
def is_prime(n):
if n > 1:
for i in range(2, n):
if (n % i) == 0:
return False
else:
return True
else:
return False
prime_display(39)
这到底是什么?