㈠ c语言 找出300以内的所有素数,每行输出6个
如果N是一个大于等于2的整数,并且只有1和N本身是它的因子,没有别的正因子,则称N是一个素数(质数)。
#include"stdio.h"
main()
{
int i,n,num;
for(n=0,num=0;n<=300;n++)
{
i=2;
while(i<n&&n%i!=0)
i++;
if(i==n)
{
printf("%6d",n);
num++;
}
}
printf("n素数个数为%d",num);
}
别浪费了我的宝贵时间!
㈡ c语言编程题:求100到300之间的所有素数
#include
#include
main()
{
int
m,i,k,h=0,leap=1;
//leap为标志位
printf("\n");
for(m=101;m<=300;m++)
//实现100到300的素数输出
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
//如果数值能被2到根号m整除,将标志位赋值为0;跳出循环
{
leap=0;
break;
}
if(leap)
//如果标志位为1,表示从2到根号m不能整除m,即m是素数
{
printf("%-4d",m);
//格式输出,相信你应该懂得,使输出结果好看
h++;
if(h%10==0)
//每十个换行
printf("\n");
}
leap=1;
}
printf("\nThe
total
is
%d",h);
}
㈢ C语言程序设计,求300以内的素数,没行输出9个
#include<stdio.h>
int prime(int n)
{int i;
for(i=2;i*i<=n;i++)
if(n%i==0)return 0;
return 1;
}
int main()
{int i,n=0;
for(i=2;i<300;i++)
if(prime(i))
{printf("%5d",i);
if(++n%9==0)printf(" ");
}
return 0;
}
㈣ 如何用c语言求300到500之间的素数
枚举法:
void main(){
int i,j,k;
for(i=301;i<500;i+=2){
k=1;for(j=3;j*j<=i;j+=2)if(i%j==0){k=0;break;}
if(k)printf("%d ",i);
}
}
(4)c语言找出300以内的素数扩展阅读:
将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃。例如:找出1到100之间的素数,需要将1到100之间的所有整数进行判断。
枚举算法因为要列举问题的所有可能的答案,所以它具备以下几个特点:
1、得到的结果肯定是正确的;
2、可能做了很多的无用功,浪费了宝贵的时间,效率低下。
3、通常会涉及到求极值(如最大,最小,最重等)。
4、数据量大的话,可能会造成时间崩溃。
㈤ c语言问题:求100-300之间的素数谁知道
int prime(int n)
{
int m;
for(m=2;m<=n;m++)
{
if(n%m==0)
return(0);
}
return(1);
}
#include "stdio.h"
main()
{
int i;
int count=0;
for(i=100;i<=300;i++)
{
if(prime(i));
count++;
}
for(i=100;i<=300;i++)
{
if(prime(i));
printf("%4d",i);
}
printf("100~300中素数的个数是%d",count);
}
可以使用 答案补充 已通过编译
㈥ C语言程序设计,求300以内的素数,没行输出9个
#include
#include
void
main()
{
int
m,n,i,k;
n=0;
for(m=201;m<300;m=m+1)/*最外循环显示取值范围*/
{
k=sqrt(m);/*此处是判断一个数是否是素数的方法,一个素数是数就是除了2和它本身之外不能被其他书整除,方法就是把m(假如m是素数)看做被除数,2到√m(开根号)之间的数作为除数,如果m能出尽i就说明m不是素数,否则就是素数*/
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%d
",m);
n=n+1;/*n相当于一个计数器,每输出一个素数加1,直到加到5时相当于在一行输出了5个素数,这时就利用n%5==0实现换行*/
}
if(n%5==0)
/*每行显示5个数*/
printf("\n");
}
}
㈦ C语言 编程 输出100~300之间所有素数
不用弄得这么复杂的,定义leam来判断就行了。一开始定义leam=1,如果一个整数能被除了1和自身的数整除的话就把leam定义为0;当leam为1的时候就输出这个整数。你上面有好多地方错误。下面是正确的
#include
"stdio.h"
void
main()
{
int
i,k,leam=1;
for(i=100;i<=300;i++)
{
for(k=2;k<i;k++)
{
if(i%k==0)
leam=0;
}
if(leam==1)
printf("%d\n",i);
leam=1;
}
}
㈧ c语言编程题:求100到300之间的所有素数
#include<stdio.h>
intmain(void)
{
inti,j,a;
intc[100]={0},n=0;
for(i=100;i<=300;i++)
{
a=0;
for(j=2;j<(i/2);j++)
{
if(i%j==0)
{
a=1;
}
}
if(a==0)
{
c[n]=i;
n++;
}
}
n=0;
while(c[n]!=0)
{
printf("%d ",c[n]);
n++
}
getch();
}
效果如图: