`
lg_asus
  • 浏览: 191768 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

不用中间变量交换a b的值及完数

 
阅读更多
一:不用中间变量交换a b值。
分析:
a=a+b; #将a b的和赋值给a
b=a-b; #a的值已经发生变化,并且保存了和值,因此这里要只能对b进行求值,不能改变a的值。
a=a-b; #同理求得a值。

另一种解法:
a=a^b
b=a^b
a=a^b

^ 异域: a^b === a & ~b

完数:
一个数的所有因子(不包括自身)相加等于自身,则该数就是完数。如6的因子是1 2 3, multiply(1,2,3) == sum(1,2,3)

/**
	 * 取得所有因子(不包括1和自身)
	 * @param num
	 * @return
	 */
	private List<Integer> findAllFactor(int num)
	{
		List<Integer> list = new ArrayList<Integer>();
		boolean found = false;
		for (int i = 2; i <= Math.sqrt(num); i++)
		{
			if (num % i == 0)
			{
				found = true;
				list.add(i);
				list.addAll(this.findAllFactor(num / i));
				break;
			}
		}
		if (!found)
		{
			list.add(num);
		}
		return list;
	}


测试了下,只有6是完数。
分享到:
评论

相关推荐

    Java不使用中间变量交换两个数

    在编程中,交换两个数值是常见的操作,但不使用中间变量进行交换可能需要一些巧妙的技巧。本文将探讨如何在Java中实现这一目标,主要基于数的中和原理,即通过特定的运算使得两个数相互抵消,从而达到交换的目的。 ...

    编一程序,使用scanf()函数输入变量a,b的值,将a,b的值互换后,再输出a,b的值。.c

    编一程序,使用scanf()函数输入变量a,b的值,将a,b的值互换后,再输出a,b的值。.c

    不使用中间变量,交换int型的 a, b两个变量的值。

    这里我们将详细讨论四个示例,分别使用加减法、位操作和数组、对象来交换整数变量`a`和`b`的值。 1. 加减法交换(by ppchen) ```javascript var a = 10, b = 2; a = a + b; // a becomes 12 b = a – b; // b ...

    一种不需要中间变量交换两个变量内容的方法

    假设我们有两个变量a和b,初始值分别为a0和b0,我们可以按照以下步骤来交换它们的值: 1. `LDA a`:将变量a的值加载到累加器(假设累加器用A表示)。 2. `XOR b`:执行异或操作,A XOR b,此时累加器A的值变成了`a0...

    易语言交换变量值

    如果我们要交换两个整数变量A和B的值,可以这样操作: ```e A = A + B B = A - B A = A - B ``` 在这个过程中,A和B通过加法和减法实现了值的互换,而没有使用额外的临时变量。 对于文本类型的变量,交换过程稍微...

    java变量交换代码

    //得到输入的值,保存到变量a //Scanner是jdk类库中的类 //保存在java.util包下 int a = new Scanner(System.in).nextInt(); System.out.print("输入整数b:"); int b = new Scanner(System.in).nextInt(); ...

    易语言源码易语言文本变量交换源码.rar

    易语言源码易语言文本变量交换源码.rar 易语言源码易语言文本变量交换源码.rar 易语言源码易语言文本变量交换源码.rar 易语言源码易语言文本变量交换源码.rar 易语言源码易语言文本变量交换源码.rar 易语言源码...

    JS实现不用中间变量temp 实现两个变量值得交换方法

    在JavaScript编程中,有时我们需要交换两个变量的值而无需使用额外的中间变量。这在内存管理有限或希望优化代码的情况下特别有用。以下是三种常见的方法来实现这个目标: 1. **加减法交换**: 这是最直观的方法,...

    JavaScript两个变量交换值的实现方法

    本文主要描述,如何不使用中间值,将两个变量的值进行交换。 一、普通做法 var a = 1, b = 2, tmp; tmp = a; a = b; b = tmp; 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观...

    两变量值互换

    例如,假设我们有两个整数变量a和b,交换过程如下: ```python temp = a a = b b = temp ``` 这种方法简单明了,但需要一个额外的存储空间。 现在,我们来看位运算的方法,也称为“异或交换”。异或运算符(`^`)...

    python数字金字塔-31-交换变量的值之方法二.ev4.rar

    假设我们有两个变量a和b,它们分别存储了两个值,我们想要交换这两个值。传统方法是创建一个临时变量temp: ```python a = 5 b = 10 temp = a a = b b = temp print(a, b) # 输出:10 5 ``` 在上述代码中,我们...

    python字符串加密-30-交换变量的值之方法一.ev4.rar

    本资源"python字符串加密-30-交换变量的值之方法一.ev4.mp4"可能是一个教学视频,详细讲解了如何在Python中进行字符串加密以及如何交换变量的值,这是编程中的基础操作。下面我们将深入探讨这两个主题。 首先,我们...

    小学信息学竞赛-第2课

    交换两个变量的值可以使用第三个变量的方法,例如: int a, b; int t; cin&gt;&gt;a&gt;&gt;b; t=a; a=b; b=t; cout&lt;&lt;"a="&lt;&lt;a&lt;&lt;" b="&lt;&lt;b; 三、基本数据类型 基本数据类型是指计算机中最基本的数据类型,包括整型、浮点型、...

    可爱的Python之 交换值

    当我们想交换两个变量a和b的值时,传统的做法如下: ```python temp = a a = b b = temp ``` 而在Python中,可以使用元组打包和解包实现如下操作: ```python a, b = b, a ``` 在这个例子中,Python会先计算等号...

    Python3之不使用第三方变量,实现交换两个变量的值

    ### Python3之不使用第三方变量实现交换两个变量的值 在编程中,交换两个变量的值是一个常见的操作。通常的做法是引入一个临时变量来完成这一过程。然而,在Python这种动态语言中,我们可以采用更为简洁的方式来...

    PHP不用第三变量交换2个变量的值的解决方法

    在PHP编程中,有时我们可能需要交换两个变量的值,但受特定条件限制,不允许使用第三个中间变量。这种情况下,可以采用一些巧妙的技巧来实现这个目标。以下是一些不使用第三变量交换两个变量值的方法: 1. **字符串...

    Delphi交换两个变量值的方法(含示例)

    XOR运算符在某些情况下可以用于无中间变量交换两个变量的值,但仅适用于整数类型。 ```delphi var A, B: Integer; begin A := 5; B := 10; A := A XOR B; B := A XOR B; A := A XOR B; Writeln('A: ', A...

    变量交换方法

    在编程中,有时我们需要交换两个变量的值而不借助额外的临时变量。这通常是优化代码或者在某些特定场景下实现特定效果的需求。以下是四种常见的变量交换方法: 1. **通过第三方变量**:这是最直观也是最基础的方法...

Global site tag (gtag.js) - Google Analytics