c语言 找对数(非暴力算法)

https://github.com/frankRenlf/c_dailyWork.git

暴力求解:时间复杂度太高了。数比较大时,很耗费时间。

只要算法学好,学什么语言都快

step1: 在k==0,count=n*n;

当k>0,

step2: 在
y
的整数倍区间内,
x
符合条件的数量就是
(n / y) * (y - k)

n / y 表示有多少个完整的 0 ~ y
区间,
y - k
表示有每个区间内有多少个符合条件的数字

step3: n % y
就是多出完整区间部分的数字个数,其中
k
以下的不用考虑,则符合条件的是
n % y - (k-1)

finally: 最终公式:
(n / y) * (y - k) + ((n % y < k) ? 0, (n % y - k + 1)); #include void test3() {     lon

c语言 找对数(非暴力算法)最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/17172.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>