java - 计算GCD java,为什么我一直得到0?
问题描述
public class gcd1 {
public static int gcd(int inT, int inU) {
int t = inT;
int u = inU;
if (u == 0) {
return u;
}
return gcd(u, t % u);
}
public static void main(String[] args) {
System.out.println(gcd(288, 30));
}
}
当我应该得到 6 时,我一直得到 0。我不确定我在这里做错了什么。
解决方案
您在第 6 行返回了错误的变量
if (u == 0){
return u;
}
这应该是
if (u == 0){
return t;
}
试试这个,它会工作的。
推荐阅读
- javascript - Vue js从输入标签中获取布尔值
- c - Arm-Linux LCD_show_jpg 图片,“Segmentation fault”问题?
- awk - 使用 awk 将行合并为一行
- google-cloud-platform - 从 Cloud Build 容器到 Google Compute Engine 实例的数据传输问题
- java - 如何使用 Java 和 Gson 从 Json 获取对象列表
- batch-processing - Flink 批处理 Sink
- c - 如何更新哈希函数内的表大小
- c# - 如何在 Mongo Server 4.0 上的 C# 驱动程序 2.7.0 中执行 db.collection.explain()?
- python - 实现无约束优化问题的回溯线搜索算法
- microsoft-graph-api - Graph API Findmeetingtimes 如果参加者人数超过 20 则不返回结果