• 【c语言】统计一个整数所包含的素因子并输出


    #include<stdio.h>
    #include<math.h>
    int prime(int n){
        int i;
        if(n<2){
            return 0;
        }
        for(i=2;i<=sqrt(n);i++){
            if(n%i==0){
                return 0;
            }
        }
        if(i>=sqrt(n)){
            printf("素数:%d ",n);
            return 1;
        }
        
    }

    void main(){
        int i,n,count=0;
        while(1){
            printf("请输入一个整数:");
            scanf("%d",&n);
            
            for(i=0;i<=n;i++){
                count+=prime(i);
            }
            printf("整数%d有%d个素数因子 ",n,count);
        }
    }

    备注:    for(i=2;i<=sqrt(n);i++){
            if(n%i==0){
                return 0;
            }
        }

    这段代码中,判断是不是素数不能用break,必须用return 0,不然后面的count会是一个很奇怪的大数字!不要问我是怎么知道的,血的教训!

  • 相关阅读:
    设计模式基础:类及类关系的UML表示
    SQL 经典语句
    网络存储
    jstack Dump
    Windows上模拟Linux环境的软件Cygwin
    竞争条件
    Java volatile关键字
    java原子操作
    java死锁小例子
    死锁四个必要条件
  • 原文地址:https://www.cnblogs.com/zhizhuniuniu/p/4174692.html
Copyright © 2020-2023  润新知