A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ak-47   /  2016-3-23 23:39  /  7668 人查看  /  24 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Test_1 {
        public static void main(String[] args) {
                int x = 0;                         //定义素数个数
                for (int i = 1;i <= 100 ;i ++ ) {      
                        int a = 0;       //计数器
                        for (int j = 1;j <= i ;j++ ) {
                                if (i % j == 0) {
                                         a++;
                                }
                        }
                                if (a < 3) {
                                        System.out.print(i + " ");
                                        x++;
                                if (x % 5 == 0) {
                                        System.out.println();
                                 }
                        }
                }
        }
}
回复 使用道具 举报
Ak-47 中级黑马 2016-3-30 00:24:34
22#
大神这么牛擦,谢谢了,请收下我的膝盖
回复 使用道具 举报
for循环里面加if判断
回复 使用道具 举报
素数又称质数,有无限个。除了1和它本身以外不再有其他的除数整除.
回复 使用道具 举报
高中数学里有呀  ,素数是除了1和本身,不能被其他的任何整数整除,所以就很简单了嘛  //#include "math.h
#include "stdio.h"
int main(void){
    int i,j,k;
    printf("Prime Numbers between 1 to 100 are as follows:\n2 ");
    for(i=3;i<100;i+=2){//除了2只考查奇数,避免穷举
        for(j=3;(k=j*j)<=i;j+=2)//只用奇数去除,且j*j<=i限制循环以提高时效
            if(i%j==0) break;
        if(k>i)
            printf("%d ",i);
    }
    printf("\n");
    return 0;
}
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马