本文目录一览:
- 1、编辑程序实现,将1~100存放在数组中,并求100之内的素数并输出,C语言?
- 2、c语言程序中怎样输出1到100的素数
- 3、用C语言编写在自然数中输出100以内的素数?
- 4、c语言输出1-100素数
- 5、用c语言编写程序输出1-100内的素数
- 6、用c语言:输出在1~100内的所有素数
编辑程序实现,将1~100存放在数组中,并求100之内的素数并输出,C语言?
#include stdio.h
int main()
{
int i,j,a[100];
for(i=0;i100;i++)
a[i]=i+1;
for(i=1;i100;i++)
{
for(j=2;ja[i];j++)
if(a[i]%j==0) break;
if(j=a[i]) printf("%d ",a[i]);
}
return 0;
}
c语言程序中怎样输出1到100的素数
主要考察素数的概念和判断方法。
素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
素数判断:将该数N用小于等于根号N的所有素数去试除,若均无法整除,N则为素数。
参考代码:
#includestdio.h
#includemath.h
int main()
{
int a,b,c;
printf("2\n");//2是素数,不能利用上面的规则求出需要另外输出。
for(a=2;a=100;a++)
{
c = (int)sqrt(a);//计算平方数,取整
for(b=2;b=c;b++)//依次判断
if(a%b==0) break;
if(bc) printf("%d\n",a);//输出素数
}
return 0;
}
用C语言编写在自然数中输出100以内的素数?
#includestdio.h
//输出100之内的所有素数
int main()
{
int i;
int j;
int flag = 1;
for(i = 2;i = 100;i++)
{
for(j = 2;j = i / 2;j++)
{
if(i % j ==0)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf("%d\n",i);
}
flag = 1;
}
return 0;
}
扩展资料
#include stdio.h
int main()
{
int a;
for (int i = 2; i 100; i++)
{
int a = 0;
/* code */
for (int j = 2; j i; j++)
{
/* code */
if (i % j == 0)
{
/* code */
a++;
}
}
if (a == 0)
{
/* code */
printf("%d is sushu\n", i);
}
else
{
/* code */
printf("%d is not sushu\n", i);
}
}
return 0;
}
c语言输出1-100素数
不能只看程序,还得看数学定义, 素数是从2开始,1不必计算。
for (m=2;m=100;m++) {
if (m==2 || m==3) { //2比较特殊,是素数,如果用sqrt()来减少判断次数的话,3放在这里
printf("%d\n", m);
continue;
}
if (m%2==0) continue; //只要是偶数,都不是素数
k = sqrt(m);
for (i=2;i=k;i++) {
if (m%i==0) {
break;
}
}
if (i==(k+1)) //改为k+1
printf("%d\n", m);
}
这样应该就对了。
用c语言编写程序输出1-100内的素数
用常规的判素性方法可如下实现
#include "stdio.h"
#include "math.h"
bool IsPrime(int x)
{
int i, s;
s = sqrt(x + 1);
for(i = 2; i = s; i++)
if(x % i == 0) return false;
return true;
}
void main( )
{
int i;
for(i = 2; i 100; i++)
if(IsPrime(i))
printf("%d ", i);
}
也可采用筛选法,筛选法效率会高一些,楼上的虽然也是筛选法,但他的效率却并不高。筛选法的思路是将那些非素数筛掉,留下那些素数。命题“对于1x100的合数x, 必含有小于10的质因子”可以证明是真命题,它的逆反命题“对于1x100的数,如果不含有小于10的质因子,则它必为素数。”则也是真命题。因此筛除时,只要筛除含有10以内的质因子的数就可以了。下面给出筛选法的代码。
#include "stdio.h"
void main( )
{
bool isprime[100];
int i, j;
isprime[0] = false;
isprime[1] = false;
for(i = 2; i 100; i++) /*先初始化2~100的都是素数,然后将非素数筛除掉*/
isprime[i] = true;
for(i = 2; i 10; i++) /*将所有含有小于10的质因子的数筛除掉*/
{
if(isprime[i]) /*如果i是素数,则将它的倍数全部筛掉*/
for(j = i * i; j 100; j += i) /*从i*i开始检测是因为小于i*i的合数都被小于i的素数筛除了*/
isprime[j] = false;
}
for(i = 2; i 100; i++)
if(isprime[i])
printf("%d ", i);
}
用c语言:输出在1~100内的所有素数
#includestdio.h
#includemath.h
intmain()
{
intn;
inti;
intflag=0;
for(n=2;n=100;n++)
{
flag=0;
for(i=2;i=sqrt(n);i++)
{
if(n%i==0)
{
flag=1;
break;
}
}
if(flag==0)
printf("%d",n);
}
return0;
}
扩展资料
C语言判断素数
#includestdio.h
intmain()
{
inti,j;
intm,n,p;
for(i=11;i1000;i++)
{
if(i=11i=99)
{
m=i%10;
n=i/10;
}
else
{
m=i/100;
n=i%10;
}
if(m==n)
{
for(j=2;ji/2;j++)
if(i%j==0)
break;
if(j=i/2)
{
printf("%d",i);
}
}
}
return0;
}