#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开始)第二排为素数 第三个是为不是素数的数量) 并且向右对齐 三排之间最好有先划分。。 谢谢 急用
5 回答
jfhdibrbfjd
TA贡献163条经验 获得超40个赞
#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
TA贡献163条经验 获得超40个赞
#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;
}- 5 回答
- 0 关注
- 1958 浏览
添加回答
举报
0/150
提交
取消
