1.素数又称质数,理论上有无限个。素数定义为:在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为素质数。
10--200之间的素数(质数)有:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
2.程序分析:首先明白什么是素数,只能被1和本身整除的数,用循环遍历101-200之间的数,然后用101~200间的书整出2到该数前面一个数,比如是113,我们113整除2~112之间的数,只要这里的数整出都不等于0,则可以判断这个数是素数;
输出:
#include "stdio.h"
void main()
{
int i,j;
for(i = 101 ; i <= 200 ; i++ )
{
for(j = 2 ; j < i ; j++)
{
if(i % j == 0)//只要除到一个数让 i 能被整除就跳出该循环。
{
break;
}
else
{
if( j == i-1 )//除完最后一个数后还不跳出循环,就可以判断该数为素数。
{
printf("%d ",i);
}
}
}
}
}
printf函数使用注意事项
1、域宽
%d:按整型数据的实际长度输出。
如果想输出指定宽度可以指定域宽,%md-->m域宽,打印出来以后,在控制台上,显示m位;
如果要打印的数的位数如果超过设定m则原样输出;
如果要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:
如果m为正数,则左对齐(左侧补空白);
如果m为负数,则右对齐(右侧补空白)。
2、转义字符
如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。
如:printf("%f%%",1.0/3);输出结果:0.333333%。
#include
#include
int main()
{
int n,i,cnt=0;
printf("101~200的素数有:\n");
for(n=101;n<=200;n++)
{
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
break;
if(i>sqrt(n))
{
cnt++;
printf("%d ",n);
}
}
printf("\n");
printf("共有%d个",cnt);
return 0;
}
//判断101-200之间的素数
public class TestFor04 {
public static void main(String[] agrs) {
for(int a=101;a<200;a++) {
for(int b=2;b if(a%b==0) {
break;
}else {
if(b==a-1) {
System.out.print(a+"\t");
break;
}
}
}
}
}
public class Su {
public static void main(String[] args) {
int su = 0;
int count = 0;
for (int i = 101; i < 201; i += 2) {
if (isSu(i)) {
su = i;
System.out.println(su);
count++;
}
}
System.out.println(count++);
}
public static boolean isSu(int i){
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
return false;
}
}
return true;
}
}