算法竞赛入门经典学习笔记

作为一名刚接触cs专业的萌新小白,开始学习蕊蕊大佬推荐的《算法竞赛入门经典》一书,一边学习一遍记录一些自己觉得很有用的小知识,作为自己平凡之路的一部分,日常慢慢更。emmmm

1.定义π的新姿势:

const double pi=acos(-1.0)

2.判断一个数的平方根是否为整数:
int m=floor(sqrt(n)+0.5);
if(m*m==n) printf("%d\n",n);

由于误差的影响,整数1可能会变成0.9999999999,floor的结果可能会是0而不是1,为了减小误差的影响,一般改为四舍五入。

3.一般要求输出的行首行尾均无空格,相邻两个数据间用单个空格隔开:

例如总共要输出n个整数,但只有n-1个空格,所以只好分两条语句输出。如:

for(int i=n-1;i>=1;i--)
printf("%d",a[i]);
printf("%d\n",a[0]);

另一种方法是设置一个标志变量first,用来判断当前要输出的变量是否为第一个:

int first=0;
for(int i=1;i<=n;i++)
 {
     if(first) first=0;
      else printf(" ");
      printf("%d",i);
 }

4.在当前流行的竞赛平台中,int都是32位整数,范围是-2147483648~2147483647.


5.如果想输出025这样的数:

printf("%03d",25);

6.输出转义字符:

printf("\\n");


























你可能感兴趣的:(《算法竞赛入门经典》)