一:不用中间变量交换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中实现这一目标,主要基于数的中和原理,即通过特定的运算使得两个数相互抵消,从而达到交换的目的。 ...
编一程序,使用scanf()函数输入变量a,b的值,将a,b的值互换后,再输出a,b的值。.c
这里我们将详细讨论四个示例,分别使用加减法、位操作和数组、对象来交换整数变量`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通过加法和减法实现了值的互换,而没有使用额外的临时变量。 对于文本类型的变量,交换过程稍微...
//得到输入的值,保存到变量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 易语言源码...
在JavaScript编程中,有时我们需要交换两个变量的值而无需使用额外的中间变量。这在内存管理有限或希望优化代码的情况下特别有用。以下是三种常见的方法来实现这个目标: 1. **加减法交换**: 这是最直观的方法,...
本文主要描述,如何不使用中间值,将两个变量的值进行交换。 一、普通做法 var a = 1, b = 2, tmp; tmp = a; a = b; b = tmp; 普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观...
例如,假设我们有两个整数变量a和b,交换过程如下: ```python temp = a a = b b = temp ``` 这种方法简单明了,但需要一个额外的存储空间。 现在,我们来看位运算的方法,也称为“异或交换”。异或运算符(`^`)...
假设我们有两个变量a和b,它们分别存储了两个值,我们想要交换这两个值。传统方法是创建一个临时变量temp: ```python a = 5 b = 10 temp = a a = b b = temp print(a, b) # 输出:10 5 ``` 在上述代码中,我们...
本资源"python字符串加密-30-交换变量的值之方法一.ev4.mp4"可能是一个教学视频,详细讲解了如何在Python中进行字符串加密以及如何交换变量的值,这是编程中的基础操作。下面我们将深入探讨这两个主题。 首先,我们...
交换两个变量的值可以使用第三个变量的方法,例如: int a, b; int t; cin>>a>>b; t=a; a=b; b=t; cout<<"a="<<a<<" b="<<b; 三、基本数据类型 基本数据类型是指计算机中最基本的数据类型,包括整型、浮点型、...
当我们想交换两个变量a和b的值时,传统的做法如下: ```python temp = a a = b b = temp ``` 而在Python中,可以使用元组打包和解包实现如下操作: ```python a, b = b, a ``` 在这个例子中,Python会先计算等号...
### Python3之不使用第三方变量实现交换两个变量的值 在编程中,交换两个变量的值是一个常见的操作。通常的做法是引入一个临时变量来完成这一过程。然而,在Python这种动态语言中,我们可以采用更为简洁的方式来...
在PHP编程中,有时我们可能需要交换两个变量的值,但受特定条件限制,不允许使用第三个中间变量。这种情况下,可以采用一些巧妙的技巧来实现这个目标。以下是一些不使用第三变量交换两个变量值的方法: 1. **字符串...
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. **通过第三方变量**:这是最直观也是最基础的方法...