#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 关注
- 1874 浏览
添加回答
举报
0/150
提交
取消