题解 | #小美的因子查询#

小美的因子查询

https://www.nowcoder.com/practice/1870e68256794c6aa727c8bb71fd9737

解题思路

对于每个询问的数字x,我们需要判断它是否有偶数因子。
一个数如果有偶数因子,那么这个数一定能被2整除。
因此,我们只需要判断这个数是否能被2整除即可。

代码

#include <iostream>
using namespace std;

bool hasEvenFactor(int x) {
    return x % 2 == 0;
}

int main() {
    int T;
    cin >> T;
    while(T--) {
        int x;
        cin >> x;
        if(hasEvenFactor(x)) {
            cout << "YES" << endl;
        } else {
            cout << "NO" << endl;
        }
    }
    return 0;
}
import java.util.Scanner;

public class Main {
    public static boolean hasEvenFactor(int x) {
        return x % 2 == 0;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        while(T-- > 0) {
            int x = sc.nextInt();
            if(hasEvenFactor(x)) {
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }
        sc.close();
    }
}
def has_even_factor(x):
    return x % 2 == 0

def main():
    T = int(input())
    for _ in range(T):
        x = int(input())
        print("YES" if has_even_factor(x) else "NO")

if __name__ == "__main__":
    main()

算法及复杂度

  • 算法:数学判断。通过判断数字是否能被2整除来确定是否存在偶数因子。
  • 时间复杂度:,其中T是询问次数,每次判断只需O(1)时间。
  • 空间复杂度:,只使用了常数级别的额外空间。
全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务