交換兩個變數的值,不使用第三個變數的方法
Q1: 我們都知道交換兩個數的數值可以用三行程式碼解決,這是在C語言中就學過的:
int c;
c = a;
a = b;
b = c;
數學老師可能會給我們這個建議:
a = a + b;
b = a - b; //b=a+b-b=a
a = a - b; //a=a+b-a=b
但是我們如果把兩個整數數值設定得非常大,那麼就會超出int的範圍,會發生強制轉化,這是顯然很令人鬱悶的。如果有要求不能用第三個引數來進行交換操作呢?
a = a ^ b; b = a ^ b; //(a^b)^b=a a = a ^ b; //(a^b)^a=b
相關推薦
兩個變量,不用第三個數就進行切換數值
進行 變量 方法 class span 個數 style blog body var a = 5; var b = 6; //第一種方法: a = a+b; b = a - b; a = a - b; //第二種方法: a = [a,b]; b
[日常練習] 4. 基於交換兩整形變數值的三種方法的C語言實現。
當面試題遇到:交換兩整形變數的值。你是感到無比的“慶幸”遇到這麼簡單的面試題,還是有一點“慌張”,怕是自己想的太簡單了吧!今天我們就來處理幾道小題,並且深入探討一下交換兩整形的3種C語言實現方法!當你再遇到這種問題的時候,你將一點都不慌!你,穩得一批! 練習題目: 1. 給定兩個整形
java--Fibonacc由數字1、1、2、3...組成的,從第三個數字起每一個數字為前兩個數字的和。建立一個方法,接受一個整數引數,顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數
題目完整描述:一個斐波那契數列是由數字1、1、2、3、5、8、13、21、34等等組成的,其中每一個數字(從第三個數字起)都是前兩個數字的和。建立一個方法,接受一個整數引數,並顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數字。例如,如果執行 java Fibonacci 5(Fib
bootstrap-select外掛多選,選擇第一個option排在第一位,選擇第三個option排在第二位,選擇第二個option排在第三位
最近專案有個奇葩的需求,要求下拉框多選,選擇option的順序要和點選選擇option的順序一致,這就麻煩了,所以只修改原始碼了,所以找到bootstrap-select.js這段程式碼,if (!title) { title = this.options.title
【編程題】不引入第三個變量,而交換兩個變量的值
其中 blog b+ 沒有 來源 article else 位移 text 不引入第三個變量,而交換兩個變量的值 方法一:算術運算 1 int a,b; 2 a=10;b=12; 3 a=b-a; //a=2;b=12 4 b=b-a; //a=2;b=10
不借助第三個變量交換兩個數值類型變量的值
blog 數值 csdn 交換 tails 其中 簡單的 簡單 div 原文地址:http://blog.csdn.net/web_hwg/article/details/75045689 方法一 最簡單的方法是用一個臨時變量 var a = 10, b = 20; va
交換兩個變量的值,不借助第三個變量的 三種方法(JS實現)
clas img 進行 blog 算法 並且 pos 成交 方法 第一種:算術運算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a、b看做數軸上的點,圍繞兩點間的距離來進行計算。
不借助第三個變量,交換兩個變量值的3種方式
int nat AS pri sdn 我們 感謝 方法 span 今天在我們學校的OJ上做題,一道非常簡單的題,突然想試試能不能不借助第三個變量,交換兩個變量值。蒙出來一半了已經,好可惜。現在把方法寫在這裏,希望以後不要忘記。 1 void fun1() 2 {
C語言,交換兩變數數值,而不引入第三個變數
菜鳥教程上看見的,真神奇,不過那個異或符號不知道怎麼打出來 #include<stdio.h> int main( ) { unsigned int a=60; //0011 1100 unsigned int b=13;
JavaScript不借助第三個變數交換a,b兩個變數值
交換變數值方案一 最最最簡單的辦法就是使用一個臨時變量了 不過使用臨時變數的方法實在是太low了 var t; t = a; a = b; b = t; 首先把a的值儲存到臨時變數中 然後b賦值給a 最後拿出臨時變數中的a值賦給b 這個辦法是最
面試官在“逗”你係列:不借助第三變數交換兩個變數值的方案你有幾種?
引言 在我們學習程式設計之初,就學習過變數的賦值操作,同時也學習了將一個變數的值賦值給另外一個變數。對於交換兩個變數的值,很多童鞋都有解決方案。然鵝,對於面試官提出的不借助第三變數來交換兩個變數的值,你能想到幾種解決方案呢? 如果你只知道一種方案,請你認真看下去... 如果你知道兩種方案,那麼你可以來了解更
php不用第三個變量,交換兩個數的值
php 變量 //字符串版本 結合使用substr,strlen兩個方法實現$a="a";$b="b";echo ‘交換前 $a:‘.$a.‘,$b:‘.$b.‘<br />‘;$a.=$b;$b=substr($a,0,(strlen($a)-strlen($b)));$a=substr
如何在不介入第三個變量的情況下實現兩個數的交換
16px bsp file 相同 rate cli 交換 ron eclips 如何在不介入第三個變量的情況下實現兩個數的交換: 1 package myeclipseFiles2; 2 3 public class Operator { 4 5 pu
不使用第三個變量交換兩個變量的值
pan AS color clas pre class spa 交換 div 1 i = i + j; 2 j = i - j; 3 i = i - j; 1 i = i * j; 2 j = i / j; 3 i = i / j; 1 i = i ^ j; 2
Golang中交換兩個變量的值,但是不允許使用第三個變量?
ack func a + b imp \n UNC package 賦值 Golan package main import ( "fmt" ) func main() { //聲明兩個變量並且賦值 a=10 b=20 交換後的值是a=20 b=
交換兩個變數的值,不使用第三個變數的方法
Q1: 我們都知道交換兩個數的數值可以用三行程式碼解決,這是在C語言中就學過的: int c; c = a; a = b; b = c; 數學老師可能會給我們這個建議: a = a + b; b = a - b; //b=a+b-b=a a =
兩個變數資料交換的經典用法,只使用兩個變數,不借助第三個變數
1. 在 js 中,使用異或 ^ 的方式進行資料交換: var a = 32; var b = 48; a = a ^
PHP交換兩個變數的值,不使用第三個變數
當交換的為數字時: <?php /** * 雙方變數為數字時,可用交換方法五 * 使用加減運算子,相當於數學運算了^_^ */ $a = 1; // a變數原始值 $b = 2; //
交換兩個變數的值,不借助第三個變數的四種方法(學習)
缺點:是隻能用於數字型別,字串之類的就不可以了。a+b有可能溢位(超出int的範圍),溢位是相對的, +了溢位了,-回來不就好了,所以溢位不溢位沒關係,就是不安全。2) 指標地址操作 因為對地址的操作實際上進行的是整數運算,比如:兩個地址相減得到一個整數,表示兩個變數在記憶體中的儲存位置隔了
JAVA不使用第三個變數,交換兩個變數的值
我們先看看使用第三個變數的方法。 public class Swap{ public static void main(String[] args){ int a = 3;