求素数 请教大神们 来帮忙

#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;

int main()
{
    int P ,S,N,i,a,b;
    for(i=1;i<=19;i++)
    {
        N=2*pow(2,i);
        printf("%d\n",N);
        for(a=2;a<=2*pow(2,i);a++)
        {
            if(a==2*pow(2,i))
            {
              for(b=2;b<a;b++)
              {
                  if(a%b!=0&&a==b)

                  printf("%d",a);
              }
            }


        }

    }



    return 0;
}

为什么这个输不出来素数那列 要怎么弄 我要弄成右边那个样子 ( 第一排为 个数(从2开始)第二排为素数 第三个是为不是素数的数量) 并且向右对齐 三排之间最好有先划分。。 谢谢 急用

5725b36e00018c3e05000667.jpg

5725b3700001688205000667.jpg


慕粉3277717
浏览 1876回答 5
5回答

cancan520520

不懂你问的问题啊,希望说的清楚一些,你要输出什么

jfhdibrbfjd

#include<stdio.h> int isp(int n) {     int i;     for(i=2;i<n;i++)     {         if(n%i==0)         return 0;     }     return 1; }    void getpr(int low,int high) {       int  i;     for(i=low;i<=high;i++)     {         if(isp(i))         {    if(i!=1)             printf("%d ",i);         }     } } int main() {     int low,high;     printf("给定数字的起始范围!\n");     scanf("%d",&low);     printf("给定结束范围!\n");     scanf("%d",&high);     getpr(low, high);     printf("\n"); }

jfhdibrbfjd

#include<iostream> #include<math.h> using namespace  std; int main() {     int i,j=2,ad=0,k=0;     long int a[1000000];     long double N;     for(i=2;i<=pow(2,1);i++)      {                 {  for( j=2;j<i;j++)            {             if(i%j==0)                break;            }         if(i==j)            {             ad++;             a[k]=i;             k++;            }         else    {    cout<<"没有的"<<endl;    }            }       cout<<pow(2,1)<<ad<<i-1-ad<<endl;     }return 0; }

jfhdibrbfjd

楼主啊    你的代码问题太多了  而且希望你能举个例子 

慕粉3277717

对了  第一排是 N=2^i i 范围在2到20
打开App,查看更多内容
随时随地看视频慕课网APP