c语言输出数列1,3,6,8,11,13,16,18,,,,的前n项数以及其中的全部素数。请自行判
c语言输出数列1,3,6,8,11,13,16,18,,,,的前n项数以及其中的全部素数。请自行判断所给的各项数值分析数列的生成规则...
c语言输出数列1,3,6,8,11,13,16,18,,,,的前n项数以及其中的全部素数。请自行判断所给的各项数值分析数列的生成规则
展开
展开全部
用()括起来的是素数。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int prime(int n){
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3; i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(void){
int i,j,n;
while(1){
printf("Input n(int n>0)...\nn=");
if(scanf("%d",&n),n>0)
break;
printf("Error, redo: ");
}
for(j=1,i=0;i<n;(j+=2)+=1&i++)
if(prime(j))
printf("(%d) ",j);
else printf("%d ",j);
printf("\n");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int is_prime(int n)
{
int i;
for(i = 2; i <= sqrt(n); i ++)
if(n%i == 0) return 0;
return 1;
}
int main()
{
int n;
int *p;
int i,r,pn;
scanf("%d",&n);
p = malloc(sizeof(int)*n);
pn = 0;
r = 1;
for(i = 0; i < n; i ++)
{
printf("%d ",r);
if(is_prime(r)) p[pn++]=r;
if(i%2==0) r+=2;
else r+=3;
}
printf("\n其中素数包括\n");
for(i=0;i<pn;i++)
printf("%d ",p[i]);
free(p);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n,a[512][2];
memset(a, 0x00, sizeof(a));
scanf("%d", &n);
a[0][0]=1;
a[0][1]=0;
for (i=1;i<n;i++)
{
a[i][0]=a[i-1][0]+3-i % 2;
for (j=2;j<=a[i][0]/2;j++)
if (a[i][0] % j == 0) break;
if (j > a[i][0]/2 ) a[i][1]=1;
}
printf("该数列的前%d项为:", n);
for (i=0;i<n;i++)
printf("%d ", a[i][0]);
printf("\n其中的素数:");
for (i=0;i<n;i++)
if (a[i][1] == 1)
printf("%d ", a[i][0]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询