不适用临时空间,交换变量a和b

方法1:

a = a + b;

b = a - b;

a = a - b;

方法2:

a ^= b;

b ^= a;

a ^= b;

方法3:

a = a * b;

b = a / b;

a = a / b;

不适用临时空间,交换变量a和b

时间: 2024-10-25 17:06:02

不适用临时空间,交换变量a和b的相关文章

一种节省空间的交换变量的基本算法

一种节省空间的交换变量的基本算法,一个很简单的算法 因为其中没有引入temp变量,所以可以节省空间 代码如下: 一种节省空间的交换变量的基本算法

Python--高阶函数、函数嵌套、名称空间及变量作用域、闭包、装饰器

1.高阶函数(map/reduce/filter) 高阶函数是指函数的参数可以是函数 这篇总结几个常用的高阶函数:map/reduce/filter map函数.reduce函数.filter函数都是Python中的内建函数. map函数 map函数的作用是将一个函数作用于一个序列的每一个元素,一行代码即可完成,不需要用我们平常喜欢用的循环.map将运算进行了抽象,我们能一眼就看出这个函数是对一个序列的每个元素进行了同样的一个操作.map()函数接收两个参数,一个是函数,一个是Iterable,

不使用第三方变量交换变量遇到的思考

记一次在不使用第三方变量的情况下交换变量遇到的思考 今天百度了一下 在不使用第三方变量的情况下交换变量的几种方法 对其中的一种交换变量的方法特别感兴趣,看起来比较简单,但是琢磨了半天没有想明白他是按什么顺序去运行的 : 1 public static void main(String[] args) { 2 int a = 1000,b=2000; 3 4 a= b + ( b = a ) * 0; 5 6 System.out.println("a:" + a + " b:

1108: 零起点学算法15——交换变量

1108: 零起点学算法15--交换变量 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 3266  Accepted: 1706[Submit][Status][Web Board] Description 水题 Input 输入2个整数(题目包含多组测试数据) Output 输出交换后的2个整数(每组测试数据一行,中间用空格隔开) Sample Input 825 23 Sample Outpu

c#交换变量的几种方法(笔试之一)

大家很熟悉知道,交换变量经常的使用的一种方法是使用第三个变量,也符合正常人的思维逻辑,但是还有其他的一些方法来实现,但是有点“偏门”,记住就好了.下面就列举这几种方法. 第一种方法,会用到参数的方法再来修稿. 1 using System; 2 namespace Exercise 3 { 4 class Program 5 { 6 private static void Main(string[] args) 7 { 8 int num1 = 10; 9 int num2 = 5; 10 in

不使用中间变量交换变量a、b的值的延伸

基础 为简单起见,用(x,y)表示变量a和b在某一时刻的一组值. 以交换a和b的值为例 (a,b)-->(a+b,b)-->(a+b,a)-->(b,a) 引申一 如果是改变三个变量的值呢?比如(a,b,c)-->(c,a,b)(向右循环移一位) (a,b,c)-->(a+b,b,c)-->(a+b,b+c,c)-->(a+b,b+c,a+b+c)-->(c,b+c,a+b+c)-->(c,a,a+b+c)-->(c,a,b) 自然想到n,比如(

3. 交换变量

题目: 输入两个整数 a 和 b, 交换二者的值,然后输出. 样例输入: 824 16 样例输出: 16 824 思路: 交换变量在C语言中用指针来实现,在C++中可以用引用来实现. 代码: #include <iostream>using namespace std; int main(){ int a = 0, b = 0; cin >> a >> b; swap(a, b); cout << a << " " <&

交换变量方法总结

平常在各种排序算法中常需要交换元素的位置,那么如何能够准确高效地交换两个元素的位置呢?Java/C/C++中交换两个变量值有三种方法.下面具体分析一下. 1)临时变量temp---普通,推荐 1 int temp = a; 2 a = b; 3 b = temp; 2)加减运算(不能用乘除,会有精度误差产生)---不推荐 1 a = a + b; 2 b = a - b; 3 a = a - b; 3)按位异或---高效,推荐 a = a ^ b; b = a ^ b; a = a ^ b; 上

不使用中间变量,交换变量的值。求一个数二进制中1的个数

1.给定两个整形变量的值,将两个值的内容进行交换.2. 不允许创建临时变量,交换两个数的内容(附加题)3. 求10 个整数中最大值.4. 写一个函数返回参数二进制中 1 的个数比如: 15       0000 1111       4 个 1程序原型:int  count_one_bits(unsigned int value){       // 返回 1的位数 } #include<stdio.h>#include<stdlib.h>void exchange(int *nu