素数详解7-20

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/*
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
 1 2 3 4 5 6 7 8 9
 1 1 2 3 5 8
 */
//    int f1 = 0;
//    int f2 = 1;
//    int f3 = 0;
//    printf("第1个月有1对的兔子
");
//    for (int i = 2; i <= 20; i++) {
//        f3 = f1 + f2;//1
//        
//        printf("第%d个月有%d对的兔子
",i,f3);
//        f1 = f2;
//        f2 = f3;
//    }
//    int f1 = 1,f2 = 1;
//    int i = 0;
//    for (i = 1; i <= 20; ++i) {
//        printf("%-12d%-12d", f1, f2);
//        if (i % 2 == 0) {
//                printf("
");
//            f1 = f1 + f2;
//            f2 = f1 + f2;
//        }
//        printf("
");
//    }
    //求100之内的素数
     //一个大于1的自然数,除了1和它本身外,不能被其他自然数整除
    //这里用到的sqrt()函数,sqrt的全称是squre root 即平方根
    //求100以内的素数,再判断某数n是否是素数时,不需要从2一直到n,只需要从2除到
    //sqrt(n),包括sqrt(n)
//    int i,j,k;
//    int a[101];
//    for(i=1;i<101;i++)
//    {
//        a[i]=i;
//    }
//    for(j=2;j<101;j++)
//    {
//        for(k=2;k<=sqrt(j);k++)
//        {
//            if(a[j]%k==0&&j!=2)
//            { 
//                a[j]=0; 
//            } 
//        } 
//        if(a[j]!=0) 
//            printf("%d
",a[j]); 
//    }
    
        //********************************************************
//    int number;
//    int i;
//    for ( number = 2; number <=100; number++) {
//        for (i = 2; i <=sqrt(number); i++) {
//            if (number % i == 0) {
//                break;
//            }
//        }
//        if (i > sqrt(number)) {
//            printf("%d
",number);
//        }
//    }
    //********************************************************
//    int number = 2;
//    int i;
//    char flag = 0;
//    for (number = 2; number <= 100; number++) {
//        flag = 1;
//        for (i = 2; i <= sqrt(number); i++) {
//            if (number % i == 0) {
//                flag = 0;
//                break;
//            }
//        }
//        if (flag == 1) {
//            printf("%d
",number);
//        }
//    }
        //********************************************************
    int flog = 0;
    for (int i = 2; i < 101; i++) {
        flog = 1;
        for (int j = 2; j < i ; j++) {
            if (i % j == 0) {
                flog = 0;
                break;
            }
        }
        if (flog == 1) {
            printf("%d ",i);
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/wohaoxue/p/4657284.html