java - 如何使用单个循环获得元素的差异?
问题描述
我需要找到 n = 20 的因数,我的代码如下所示。
int n=20;
for (int i = 1; i <= n; i++) {
if(n%i==0){
System.out.println(i+" ,");
}
}
它产生结果 1,2,4,5,10,20
但是我发现每个相邻数字的差异。比如 1-2=-1, 2-4=-2...
解决方案
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
int n=20;
int a = 0;
int b = 0;
for (int i = 1; i <= n; i++) {
if(n%i==0){
b = i;
if(a!=0)
System.out.println(a - b+" ,");
a = i;
}
}
}
这将打印你想要的。
推荐阅读
- java - Java Play SBT 中的 IntelliJ 更新后项目名称无效
- c# - FileSystemWatcher 特定事件
- python - pip install pyswisseph 在 Windows 10 上出现错误
- python - 在烧瓶中使用 recaptcha 时输入密码无效
- java - Spring transactions not working + JAX WS + JDBC
- jquery - 推特引导模式背后的时间选择器
- angular - 订阅流后如何返回数据?
- python - 给定代码中的错误是什么?
- java - 如何在Android的换行符处切断(删除)复选框文本?
- excel - 如何确定范围(表列)是否不完全为空?