C++ 刷题常用小模板

发布于 2026-02-05 16:22 156 字 1 min read

hainoir avatar

hainoir

记录前端实践、算法推演和那些值得反复理解的问题。

  1. 至今

    超星

    前端研发工程师

  2. 至

    好未来

    硬件运维工程师

首页 周刊 时间线 关于 歌单
记录 C++ 刷题中常用的小模板:计算两点间距离、试除法判断质数、用数组标记状态,以及通过 fixed 和 setprecision 控制小数输出。

两点间距离

sqrt( pow( abs(x1-x2) ,2 ) + pow( abs(y1-y2) ) , 2 )    //sqrt()开平方根
    											 		//pow(x,y) 得到x的y次方
也可以:sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) )    	 //abs() 得到参数的绝对值

判断质数

// x = a * b  ->  min(a,b) <=sqrt(x)
int chk(int x){
    for(int i = 2;i * i <= x;++i){
        if(x % i == 0){
            return 0;
        }
    }
    return 1;
}

用数组记录状态

用整数数组标记

	eg:	int a[n] = {0};
				i符合条件: a[i] = 1;

用布尔数组标记

	eg:  bool a[n];
				i符合条件:a[i] = 1; 

控制小数输出

cout << fixed <<  setprecision(1) << res << '\n';

本文作者:hainoir · CC BY-NC-SA 4.0

喜欢的话,留下你的评论吧~

评论加载中…

相关文章