本帖最后由 cgzchf 于 2009-11-03 11:04:28 编辑

解决方案 »

  1.   

    这是老师给的C语言参考
    #include "stdio.h"
    #include "conio.h"
    #include "math.h"
    main()
    {
      int m,i,k,h=0,leap=1;
      printf("\n");
      for(m=101;m<=200;m++)
      {
        k=sqrt(m+1);
        for(i=2;i<=k;i++)
        if(m%i==0)
        {
          leap=0;
          break;
        }
        if(leap)
        {
          printf("%-4d",m);
          h++;
          if(h%10==0)
            printf("\n");
        }
        leap=1;
      }
      printf("\nThe total is %d",h);
      getch();
    }
      

  2.   

    int h = 0;
    for (int m = 101; m <= 200; m++) {
    boolean isPrime = true;
    int sqrt = (int) Math.sqrt(m);
    for (int i = 2; i <= sqrt; i++) {
    if (m % i == 0) {
    isPrime = false;
    break;
    }
    }
    if (isPrime) {
    System.out.println(m);
    h++;
    }
    }
    System.out.println(h);有了c代码,依样画葫芦也画出来了………………
      

  3.   

    public class FindPrime {
    public static void main(String args[]){
    for(int i=101; i<201; i++){
    for(int j=2; j<=(int)Math.sqrt(i); j++){
    if(i%j == 0)
    break;
    if(j >= (int)Math.sqrt(i))
    System.out.print(i +" ");
    }
    }
    }
    }
      

  4.   

    这段C代码里的leap有什么用?   
      

  5.   

    int h=0;
            for (int m=101;m<=200 ;m++ )
            {
            
                for (int i=2;i<m/2+1 ;i++ )
                {    
                    
                    if(m%i!=0)//我知道肯定是这里出问题了
                    {
                      System.out.print(m+" ");//把这句话注销了
                     continue;
                    }
                   if(i>=m/2+1)//加这句就行了
                   {
                    System.out.print(m+" ");//这里打印的才是素数
                   }
                 }
          }
      

  6.   


    leap就是判断是不是出现了除尽的情况,如果leap=0,那就说明被除尽过,是合数;如果为1,那么就说明没有除尽过,是质数
      

  7.   


            int h = 0;
            for (int m = 101; m <= 200; m++) {
                int flag = 0;
                for (int i = 2; i < m; i++) {
                    if (m % i == 0                {
                        flag=1;
                        break;
                    }
                }
                if(flag==1)
                System.out.println(" "+m);//把这句打印变成 printf("%d\n",m);C下就可以运行了
            }
      

  8.   


            int h = 0;
            for (int m = 101; m <= 200; m++) {
                int flag = 0;
                for (int i = 2; i < m; i++) {
                    if (m % i == 0){
                        flag=1;
                        break;
                    }
                }
                if(flag==1)
                System.out.println(" "+m);//把这句打印变成 printf("%d\n",m);C下就可以运行了
            }
      

  9.   


        public boolean isPrimeNumber(int num)
        {
          for (int i = 2; i <= Math.sqrt(num); i++) {//平方根
              if(num%i==0)
              {
                  return false;
              }
          }
          return true;
        }