计算AWK语言中最大的公约数

时间:2018-11-04 18:34:05

标签: awk

我正在尝试编写用于计算 awk 语言的两个自然数的最大公约数的代码,但是到目前为止,我的尝试都失败了。

感谢您的帮助。

我的尝试

val bankDF = bankrdd.toDF()
bankDF.registerTempTable("bankfull")

2 个答案:

答案 0 :(得分:3)

来自https://rosettacode.org/wiki/Category:AWK

function gcd(p,q){return(q?gcd(q,(p%q)):p)}

答案 1 :(得分:1)

修复脚本中的语法和语义错误会产生:

awk '
BEGIN {
    a = 5
    b = 10
    while ( (a!=0) && (b!=0) ) {
        if (a > b) {
            a = a % b
        }
        else {
            b = b % a
        }
    }
    print (a+b)
}
'
5

如果算法错误,则使用谷歌搜索“两个自然数代码的最大公约数”会产生几个示例,其中包括https://www.programiz.com/c-programming/examples/hcf-gcd处的3。只需对其中一个进行细微的调整(即摆脱变量声明,第一个printf和scanf)就可以使用awk而不是C语法处理您的硬编码值。