首页 > 其他分享 >2064:【例2.1】交换值 题解

2064:【例2.1】交换值 题解

时间:2024-07-20 15:50:55浏览次数:20  
标签:tmp 12 21 题解 变量值 交换 2.1 2064

题目链接

题目描述

输入两个正整数\(a\)和\(b\),试交换\(a\)、\(b\)的值(使\(a\)的值等于\(b\),\(b\)的值等于\(a\))。

解题思路

该题有很多种方法,例如:

  • 直接输出\(b\)和\(a\)(偷鸡方法)
  • 使用algorithm库的swap函数
  • 使用额外变量辅助
  • 位运算
  • \(......\)
    但这道题目放在"运算符和表达式"这一章,显然是有出题者的用意,这里比较适合初学者的只有"使用额外变量辅助"这种解。
    假设我们现在有三个变量:\(a=12\)、\(b=21\)、\(tmp\),
  1. 先将\(a\)赋值给\(tmp\),此时三个变量值如下:
    \(a=12\)、\(b=21\)、\(tmp=12\)
  2. 再将\(b\)的值赋给\(a\),此时三个变量值如下:
    \(a=21\)、\(b=21\)、\(tmp=12\)
  3. 再将\(tmp\)的值赋给\(b\),此时三个变量值如下:
    \(a=21\)、\(b=12\)、\(tmp=12\)
    这样,我们用\(tmp\)保留\(a\)的值,十分巧妙地交换了\(a\)和\(b\)的值,输出即可。

AC Code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0),cin.tie(nullptr),cout.tie(nullptr);
    int a,b,tmp;
    cin>>a>>b;
    tmp=a;
    a=b;
    b=tmp;
    cout<<a<<" "<<b;
    return 0;
}

Tip

tmp=a;
a=b;
b=tmp;

这三句可直接用swap(a,b)代替,记得包含algorithm!!!

标签:tmp,12,21,题解,变量值,交换,2.1,2064
From: https://www.cnblogs.com/988176-/p/18313244

相关文章

  • CF906C Party题解
    今天来水一波题解……理解题意由于题目意思讲得很清楚,就因为懒惰直接复制了……给你一堆一对对的关系,然后每一个关系对代表两个人认识。然后你每次可以选择一个人i,让i认识的所有人都相互认识,即i把介绍自己所有的朋友给其他人。然后现在问你最少需要选择多少个这样的i,使得所有的......
  • 1005:地球人口承载力估计 题解
    题目链接题目描述假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供\(x\)亿人生活\(a\)年,或供\(y\)亿人生活\(b\)年。为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?解题思路经典的牛吃草问题,只是换了一个问法而已。可以戳这里,也......
  • openwrt之luci界面开发------问题解析
    查阅视频:我取不来名字的https://space.bilibili.com/320467466在openwrt的luci界面开发中,用到的这个E()函数,其功能是在网页界面创建各种各种视图效果,如按钮,文字等等。其原函数:functionE(){    returnL.dom.create.apply(L.dom,arguments)}这个E()函数定义实......
  • python3 安装Crypto包 出现No module named ‘Crypto‘和No module named ‘Crypto.Ut
       pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;所以,我现在告诉大家一种解决方法--直接安装:pipin......
  • CF1364D Ehab's Last Corollary 题解 (构造/独立集/找最小环)
    题意给出一张n个点的无向连通图和一个常数k。你需要解决以下两个问题的任何一个:找出一个大小为\(\lceil\frack2\rceil\)的独立集。找出一个大小不超过k的环。独立集是一个点的集合,满足其中任意两点之间在原图上没有边直接相连。可以证明这两个问题必然有一个可以......
  • P3588 PUS 题解
    PUS推销我的洛谷博客。题意给出三个整数\(n,s,m\),请你构造一个整数数组\(a\)满足\(1\leqslanta_i\leqslant10^9(1\leqslanti\leqslantn)\)以及\(m\)个约束条件,或判断无解。\(a\)数组中\(s\)个数已经给出(保证合法)。\(m\)个约束条件格式如下:\(l,r,k,x_1,x_2\cd......
  • P9531 题解
    blog。提供一份代码短的题解。一个暴力做法:维护\(w_i<w_{now}\)与\(w_i\gew_{now}\)的前后缀MST,查\(X_i\)时将前后缀MST合并,直接求得答案。考虑一棵\((u_{now},v_{now},X)\)的前缀MST。因为\(w_i<X\)时\(w_i\)越大\(\midX-w_i\mid\)越小,所以按边权从大到小......
  • [ARC173E] Rearrange and Adjacent XOR 题解
    题目链接点击打开链接题目解法太牛了!!!这道题我的第一反应是从高位往低位确定,但这样就全错了换个角度考虑,找最后的答案可以由那些数异或而成这里给出结论:答案一定是偶数个数的异或和(在\(n\%4=2\)且\(n\neq2\)时,不能由全集构成)证明:选出的数非全集的情况用数学归纳法......
  • 题解 Codeforces 1994H Fortnite
    首先第一次询问肯定是问\(\texttt{aa}\),答案减去\(1\)得到基数\(p\)。然后我们随意询问一个真实Hash值(取模之前)\(X\)大于模数\(m\)的字符串,例如\(s=\texttt{zzz}\cdots\texttt{zzz}\)(\(50\)个\(\textttz\))。设它取模得到的Hash值是\(a\)。考虑正整数\(1\leqb......
  • CF466E Information Graph 题解
    题目链接LuoguCodeforces题意简述某公司中有\(n\)名员工。为方便起见,将这些员工从1至\(n\)编号。起初,员工之间相互独立。接下来,会有以下\(m\)次操作:员工\(y\)成为员工\(x\)的上司。保证此前\(x\)没有上司。员工\(x\)拿到一份文件并签字,随后交给他的上司......