判断素数

#include <stdio.h>
#include <math.h>

int isPrimeNumber(int m){
	int i;
	int k = (int)sqrt((double)m);
	for(i=2; i<=k; i++){
		//只要符合条件的,(即除自身和1不能被整除)(小技巧 
		if(m%i==0){		
			break;
		}
	}
	if(i>k){
		return 1;
		//printf("%d 是素数\n", m);
	}
	else{
		return 0;
		//printf("%d 不是素数\n", m); 
	}
}
int main()
{
	int mm = 11;
	int i;
	
	int isPrimeNumber(int m);
	
	int j;
	int count = 0; 
	for(j=101; j<=200; j++){
		if(isPrimeNumber(j)){
			printf("%d  ", j);			
			count++;			
			if(count%5==0){
				printf("\n");
			}
	
		}	
	}

	
	
	return 0;
}

小技巧:

  1. 当一个代码块可以完成某一项功能时,可以把它构建成函数(注意要有相应返回值)
    使得代码更简洁高效,可移植性强
  2. 当循环且需要遍历所有的数时是目的时,把自己所不需要的跳过,用break
    eg:for(i=2; i<=k; i++){
    //只要符合条件的,(即除自身和1不能被整除)(小技巧
    if(m%i==0){
    break;
    }
    }
  3. 当一个代码完成执行且正确时,可以进行改进
    代码美观****时间复杂度
  4. 强制类型转换
    形式:(转换类型)+变量名
    eg:double a;int k;k=(int)a;
  5. sqrt()函数
    特点:
    返回double类型
    参数也是double类型
    要使用先加头文件<math.h>
  6. 素数
    因子只有1和本身
    eg: 1 3 5 7 11 等等
posted @   行至为成  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示