zoukankan      html  css  js  c++  java
  • 两个注意点

    1、整型数相除存在舍去余数的问题。

       1+2+3+.....+ n = (1+n)*n/2

      如果用整数直接相除显然存在问题。正确解法为:

     if(n%2 == 0)
        sum = (1+n)*(n>>2); 
     else
        sum = ((1+n)>>2)*n;

    2、两个数相交换

    第一种方法:

       a = a + b;
       b = a - b;
       b = a - b;

    存在溢出

    第二种方法:

       a ^ = b;
       b ^ =a;
       a ^ = b;

    /*
    *
    * Copyright (c) 2011 Ubunoon.
    * All rights reserved.
    *
    * email: netubu#gmail.com replace '#' to '@'
    * http://www.cnblogs.com/ubunoon
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    条件
    循环
    列表
    字典
    集合
    公共操作
    函数-2
    函数-1
    函数加强
    文件操作
  • 原文地址:https://www.cnblogs.com/ubunoon/p/2058936.html
Copyright © 2011-2022 走看看