cocowy的编程之旅
C语言实现
lincode算法题
- 前言
- 网上其他的csdn博客上有很多对于这个题的算法实现,但到目前为止,使用C语言来进行代码复现并且算法思维和边界条件正确并且呈现给大家的一清二楚的没有几个,我这篇文章权当抛砖引玉,期待高手留言。
问题描述:
算法思维
通过题目描述我们可以很容易的得到其中心思想,简而言之就是数数,在[0,n]的区间里找出出现过k的次数,我们可以自然而然的想到,对区间中的每一个数进行遍历然后每一个数都对其取余数,与k比较,若与k相等则计数器加一,反之。但是!!!对于k=0来说,计数器要多加一个1,原因是0出现过一次!!!总而言之,就是要考虑到边界条件K=0这种情况!
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time