| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 584 人关注过本帖
标题:求大神看看代码怎么改,在Java是对的,在c++上代码有错,怎么改都不对,两个 ...
取消只看楼主 加入收藏
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:4 
求大神看看代码怎么改,在Java是对的,在c++上代码有错,怎么改都不对,两个程序是一个目的
#include <iostream>
#include <stdio.h>
using namespace std;

bool isPrime(unsigned long n) {  
    if (n <= 3) {      
        return n > 1;  
    } else if (n % 2 == 0 || n % 3 == 0) {   
        return false;   
    } else {     
        for (unsigned short i = 5; i * i <= n; i += 6) {      
            if (n % i == 0 || n % (i + 2) == 0) {      
                return false;      
            }      
        }     
        return true;  
    }
}
int main(){
    int a[1299],i,t=0;
    for(i=2;i<10000;i++){
        if(isPrime(i)){
            a[t]=i;
            t++;
        }
    }
    int c,b,min=0,max=0,index=0;
   
    while(index<10){
        scanf_s("%d %d",&b,&c);
        for(i=0;i<1299;i++){
            if(i==0){
                if(a[0]>=b){
                    min=0;
                    cout<<"min1"<<min<<endl;
                }
            }

            while(i>=1){
                if(a[i]>=b&&a[i-1]<=b){
                    cout<<"min2"<<min<<endl;
                    min=i;
                }
                if(a[i]>=c&&a[i-1]<=c){

                    max=i;
                    cout<<"max"<<max<<endl;
                     break;
                }
            }

        }


        if((max-min)==1){
            cout<<"YES"<<endl;
        }
        if((max-min)!=1){
            cout<<"NO"<<endl;
        }

        index++;
            system("pause");
    }




    return 0;
}














package com.project.shea;



public class Shu {
    public static boolean shua(int n){
         for (int i = 2; i <= Math.sqrt(n); i++) {
            if(n%i==0){
               
                return false;
               
            }
        }
        
        
        
        return true;
    }
   
   
   
   
public static void main(String[] args) {
    int a[]=new int[1299];
    int t=0;
    for (int i = 2; i < 100; i++) {
        if(shua(i)){
            a[t]=i;
            t++;
            System.out.println(i);
        }
    }
    int aa=1,bb=3,min=0,max=0;   
    for (int i = 0; i < a.length; i++) {
        if(a[0]>=aa){
            
            min=0;
   
        }
        if(i>=1){
            if(a[i]>=aa&&a[i-1]<=aa){
                min=i;
               
            }
            if(a[i]>=bb&&a[i-1]<=bb){
                max=i;
                break;
            }
            
            
            
        }
    }
    System.out.println((3>=3&&2<=3));
    System.out.println("a[0]="+a[0]);
    System.out.println("a[1]="+a[1]);
   
    System.out.println("a[2]="+a[2]);
    System.out.println(min+"aaaaaaaaaaa"+max);
}
}
搜索更多相关主题的帖子: include return false Java 
2015-03-16 17:06
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
题意就是先把1到10000的素数找出来,放入一个数组,输入两个数a,b,先小后打,判断a和b之间的素数是否是一个
2015-03-16 17:08
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
想在c++上运行,在学习c++,但怎么改都不对,执行不到判断max-min
2015-03-16 17:17
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
知道了,是c++那儿不能用while(i>=1),改为if,改好了
2015-03-16 17:27
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
是break只能终止一层循环,如果是while,则while也算是一层,就跳不出最外边的for循环了,改成if才能跳出
2015-03-16 18:02
快速回复:求大神看看代码怎么改,在Java是对的,在c++上代码有错,怎么改都不对 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021722 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved