题解 | #牛牛的素数判断#

牛牛的素数判断

https://www.nowcoder.com/practice/81c8387f72824cceb5c955e3dbfd2882

#include <stdio.h>

int main() {
    int n = 0,m = 0 , i = 0 , j = 0;
    scanf("%d", &n);
    while (n) {
        scanf("%d", &m);
        if(m%2==0||m%3==0){//去掉2或者3的倍数
            if(m==2||m==3)//踢出2,3素数
            printf("true\n");
            else
            printf("false\n");//不是2或3的倍数的数直接就不是素数
        }
        else{
            
            for (i = 3; i <= m; i += 2) {//每次加2输入数的循环一半
                if (m % i == 0 && j == 0 && i != m) {//判断有没有因数,如果是不到循环结束
                    printf("false\n");               //就说明不是素数直接输出,将j加一
                    j = 1;
                } 
                else {
                    if (i == m && j != 1) {//上面的条件直到结束都不满足并且j没有变就说明没有因数
                        printf("true\n");
                    }
                }
            }
            j=0;//判断完以后将j恢复不妨碍下次判断
        }
        n--;//通过将n逐次减一,就是要判断的次数
    }
    return 0;
}

第一次发布博客,请大家多多批评指教

#小白的技术进阶日记#
全部评论

相关推荐

三题看不懂四题不明白二题无法AC&nbsp;T=int(input())&nbsp;for&nbsp;_&nbsp;in&nbsp;range(T):&nbsp;n=int(input())&nbsp;s=input().split()&nbsp;k,mx=1,1&nbsp;for&nbsp;i&nbsp;in&nbsp;range(len(s)-1):&nbsp;if&nbsp;len(s[i])&lt;len(s[i+1]):&nbsp;k+=1&nbsp;elif&nbsp;len(s[i])==len(s[i+1]):&nbsp;if&nbsp;s[i]&lt;=s[i+1]:&nbsp;k+=1&nbsp;...
恭喜臭臭猴子:第二题用栈就行。合法的括号直接出栈了,剩下的是不合法的,肯定都得一个一个走。出入栈的过程中得记下进栈的括号的下标。最后栈里剩下的括号如果相邻两个的下标不连续,说明它们中间有一个合法的括号序列被出栈,结果加一
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总 笔试
点赞 评论 收藏
分享
Cherrycola01:0实习 0项目 约等于啥也没有啊 哥们儿这简历认真的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务