Function 使函数为奇数或偶数

Function 使函数为奇数或偶数,function,functional-programming,Function,Functional Programming,我想做一个函数,只使用递增或递减函数来求奇数或偶数。没有其他运算符像equal运算符或modular运算符用%mod运算符检查类似的内容 using System; class Program { static void Main() { for (int i = 0; i <= 100; i++) { if (IsOdd(i)) { Console.WriteLine(i); } }

我想做一个函数,只使用递增或递减函数来求奇数或偶数。没有其他运算符像equal运算符或modular运算符

用%mod运算符检查类似的内容

using System;

class Program
{
    static void Main()
    {
    for (int i = 0; i <= 100; i++)
    {
        if (IsOdd(i))
        {
        Console.WriteLine(i);
        }
    }
    }

    public static bool IsOdd(int value)
    {
    return value % 2 != 0;
    }
}
使用系统;
班级计划
{
静态void Main()
{
对于(int i=0;i可能

public bool isEven(int number){
    return number/2.0 == Convert.ToInt32(number/2.0)
} 
我不太确定你打算如何在没有equals或mod运算符的情况下测试一个数是否为偶数

卢卡斯

def isOdd(n:Int)={

如果(n可能是这样的话?这个解决方案使用赋值和逻辑运算符

var isEven = true;
function makeDivayanshusHomework (number) {
    if (number < 0) {
        for(i = 0; i < 2*number; i++) {
            number++;
        }
    }

    while (number > 0) {
        number--;
        isEven = isEven ? false : true;
    }

    return isEven;
}

这几乎让我想到了sascha10000的原始答案,尽管这个方法可以优雅地处理负整数。你的老师有没有指定输入必须清理到什么程度?

什么是编程语言?!使用循环,减去2,看看你最终得到的是0还是1。或者尝试递归来做同样的事情。只需递减/递增每次重复两次,然后递归,直到得到1或0为止。这是一个非常模糊的问题,取决于语言。也许有更广泛的解释,你可以找到帮助。M.qassas我想要不使用modular的函数可以解释它的第一行名为isOdd的函数的定义,其中n类型为整数。返回类型是由隐式返回值决定的。基本上我暗示了Scala的基本假设。哈哈,很棒的函数名。我知道这不是一个有意义的注释。但不注释它太有趣了。但这不是函数性的。你在变异不允许的变量。它仍然不是函数性的,因为++--是后缀减量/incr解析为number=number+1或number=number+1=>的元素仍在对变量进行变异。因此,它不起作用,您需要使用常量而不是变量。因此,您将使用递归方法。
var isEven = true;
function makeDivayanshusHomework (number) {
    if (number < 0) {
        for(i = 0; i < 2*number; i++) {
            number++;
        }
    }

    while (number > 0) {
        number--;
        isEven = isEven ? false : true;
    }

    return isEven;
}
function makeDivayanshusHomework (number) {
    if (Math.sqrt(number*number) > 1) {
        return makeDivayanshusHomework(number-2)
    }
    else {
        return Math.sqrt(number*number); // 1 when odd, 0 otherwise
    }
}