我在做一个程序,你输入两个整数,程序找到这两个数之间的最大公约数。
它运行良好,除了它打印“1”作为GCD,即使这两个数字应该有不同的GCD。(例子: 4
对于那些想用一种方法来回答问题的人,我做不到:这是一项要求我在同一个程序中使用两种不同方法的作业。请帮忙?
谢谢你的阅读,祝你一周愉快。
这是我的代码:
import java.util.Scanner;
public class greatestCommonDivisorMethod {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
//Number entry prompts
System.out.print("Please enter first integer: ");
int num1 = input.nextInt();
System.out.print("Please enter second integer: ");
int num2 = input.nextInt();
//Result printed
System.out.println("The greatest common divisor of " +num1+ " and " +num2+ " is " +gcd(num1, num2)+".");
}
public static int gcd(int num1, int num2) {
int gcd = 1;
int k = 2;
while (num1 <= k && k <= num2)
{
if (num1 % k == 0 && num2 % k == 0)
gcd = k;
k++;
}
return gcd;
}
}
将返回值指定给一个变量,然后打印它
int answer = gcd(num1, num2);
然后在打印时使用转换字符串或toString方法。
System.out.println("The greatest common divisor of " +answer.toString());
while条件可能有k
while (num1 <= k && k <= num2)
{
if (num1 % k == 0 && num2 % k == 0)
gcd = k;
k++;
}
看起来你在while循环中意外地切换了num1
和k
。
我试图让这个程序计算两个用户输入的正整数(x和y)的最大公约数(GCD)。set函数不返回可以索引的列表。关于如何找到GCD有什么建议吗?
计算两个或两个以上数字/数字数组的最大公约数。 内部的 _gcd 函数使用递归。基本情况是,当 y 等于 0 的情况下,返回 x 。否则,返回 y 的最大公约数和x / y的其余数。 const gcd = (...arr) => { const _gcd = (x, y) => (!y ? x : gcd(y, x % y)); return [...arr].reduce((a, b)
问题内容: 我已经看到存在这样的功能,即。是否有在Java中的其它功能也适用于其他类型的工作(,或)?似乎这是有意义的(带有各种重载),但是它不存在。在别的地方吗? (请不要将此问题与“我如何自己实现”混淆!) 问题答案: 对于int和long而言,作为原语,并非如此。对于Integer,有人可能写了一个。 假设BigInteger是int,Integer,long和Long的(数学/函数)超集,
Python3 实例 以下代码用于实现最大公约数算法: 实例(Python 3.0+)# Filename : test.py # author by : www.runoob.com # 定义一个函数 def hcf(x, y): """该函数返回两个数的最大公约数""" # 获取最小值 if x > y: smaller = y else: smaller = x for i in range
longestCommonSubsequence正在返回LCS的长度。代码运行良好。但我试图打印子序列的值。例如,它应该打印“acef”。但我的代码只打印“ae”<如何修复? 这是完整的代码https://pastebin.com/Sq4QMtxF
本文向大家介绍PHP编程求最大公约数与最小公倍数的方法示例,包括了PHP编程求最大公约数与最小公倍数的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP编程求最大公约数与最小公倍数的方法。分享给大家供大家参考,具体如下: PS:这里再为大家推荐几款在线计算工具供大家参考使用: 在线一元函数(方程)求解计算工具: http://tools.jb51.net/jisuanqi/eq