顺序输出100~200之间的全部素数(要求:一行显示7个素数)。
- 提问者网友:wodetian
- 2021-08-11 12:01
- 五星知识达人网友:动情书生
- 2021-08-11 12:58
#include <stdio.h>
int isprime(int n)
{
int i;
for(i = 2; i <= n / 2; i++)
if(n % i == 0)
return 0;
return 1;
}
int main()
{
int i, c = 0;
for(i = 100; i <= 200; i++)
if(isprime(i))
{
printf("%d ", i);
if(++c % 7 == 0)
printf("\n");
}
return 0;
}
- 1楼网友:由着我着迷
- 2021-08-11 16:26
#include <iostream>
int prime(int n)//该函数为判断素数的函数是素数则返回1,后则返回0 { int flag=1; for(int i = 2 ; i < n ; i++) { if(n%i==0) { flag=0; break; } } return flag; }
void main() { // int x; // cin>>x; // if(prime(x)) cout<<"是素数"; // else // cout<<"不是素数"; int k = 0; for (int i = 100 ; i <= 200 ; i++) { if ( prime(i) ) { cout<<i; k++; if (k%7==0) { cout<<endl; } else { cout<<" "; } } } }
- 2楼网友:几近狂妄
- 2021-08-11 15:59
没要求语言... 给你个C语言版本的.
#include <stdio.h> #include <math.h> int isprime(int n) //判断素数.是返回1,不是返回0 { int i,k=sqrt(n); for(i=2;i<=k;i++) { if(n%i==0) break; } if(i>k) return 1; return 0; }
void main() { int i,n=0; for(i=100;i<=200;i++) //循环找100到200的素数. 输出7个换行 {
if(isprime(i)) { printf("%d ",i); n++; if((n%7)==0) printf("\n"); } } }
附图:
*************************************************************************************************************
这是不调用函数的版本: 效果和上图一样
#include <stdio.h> #include <math.h>
void main() { int i,j,n=0,k; for(i=100;i<=200;i++) //循环找100到200的素数. 输出7个换行 { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break; } if(j>k) { printf("%d ",i); n++; if((n%7)==0) printf("\n"); } } }
- 3楼网友:猎心人
- 2021-08-11 14:50
- 4楼网友:鱼芗
- 2021-08-11 13:56