首页 > 技术文章 > 一种趋近式方法

ply616 2016-04-07 09:36 原文

说明

  • 在程序的计算中,会需要这样的需求。

已知起始值StartValue,目标值TargetValue,增量值DiffValue,求每一次变化的当前值。

  • 结合上一篇博客,可以有如下的计算。
    已知a,b,c,求每次一当前值a,其中a为当前值,b为差值,c为目标值。
  • 问题:
  • 在接近目标值的时候,不能超过或低于目标值。
    int main()
    {
        int a,b,c;
        scanf("%d,%d,%d",&a,&b,&c);
        while(a!=c)
        {
            c > a ? ( c - a > b ? (a += b ) : (a = c) ) : ( a - c > b ? ( a -= b ) : (a = c) );
            printf("%d\n",a);
        }
    }

同样适用于无符号型,并且解决了无符号型数据界限的问题。

推荐阅读