| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:素数判定
只看楼主 加入收藏
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:16 
素数判定
Problem Description
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。
 

Input
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。
 

Output
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。
 

Sample Input
0 1
0 0
 

Sample Output
OK
 
程序代码:
#include<stdio.h>
int panDuan(int c,int d)
{
    int i,j;
    int flag;
    for(i=c;i<=d;i++)
    {
        flag=1;
        for(j=2;j<=(i^2+i+41)/2;j++)
        {
            if((i^2+i+41)%j==0) 
            {
                flag=0;
                break;
            }
            if(flag==0) return 0;
        }
        return 1;
    }
}
int iniSu(int a,int b)
{
    int i;
    int flag=0;
    if(panDuan(a,b)) flag++;
    if(flag==(b-a)) return 1;
    else return 0;
}
int main()
{
    int x,y;
    while(    scanf("%d%d",&x,&y)!=EOF)
    {
        if(x==0&&y==0)break;
        if(iniSu(x,y))printf("OK\n");
        else printf("Sorry\n");
    }    
    return 0;
}

怎么提交还是wrong answer啊?谁帮看看  不要怕别的代码   杭电2012

[ 本帖最后由 C_戴忠意 于 2012-3-20 12:29 编辑 ]
搜索更多相关主题的帖子: 表达式 
2012-03-19 22:41
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:20 
0 2  试下看
2012-03-19 22:53
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
我看了半天看不出哦   丶可能思维定势了丶你们看能看出来不

编程之路定要走完……
2012-03-20 12:47
喝醉的猫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:120
注 册:2012-3-13
收藏
得分:0 
新手路过围观....
2012-03-20 12:48
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
回复 3楼 C_戴忠意
int iniSu(int a,int b)
{
    int i;
    int flag=0;
    if(panDuan(a,b)) flag++; //这里flag要么0 要么1 所以长度多余两个的你的程序就错了
    if(flag==(b-a)) return 1;
    else return 0;
}

且感觉这个函数多此一举
2012-03-20 12:56
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
回复 5楼 草狼
写的时候思路不是这样的丶后来改的没带要动他 好像也不是那里的问题丶那个是一个一个判断的 3 4就不行

编程之路定要走完……
2012-03-20 13:04
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
给个网址先……

梅尚程荀
马谭杨奚







                                                       
2012-03-20 13:04
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:0 
回复 6楼 C_戴忠意
#include<stdio.h>
int panDuan(int c,int d)
{
    int i,j;
    for(i=c;i<=d;i++)
    {
        for(j=2;j<=(i*i+i+41)/2;j++)
        {
            if((i*i+i+41)%j==0)
            {
                return 0;
            }
        }
    }
    return 1;
}

int main()
{
    int x,y;
    while(    scanf("%d%d",&x,&y)!=EOF)
    {
        if(x==0&&y==0)break;
        if(panDuan(x,y))printf("OK\n");
        else printf("Sorry\n");
    }   
    return 0;
}
这样看行不  你那代码还有个错误 i^2 是抑或运算 并不等于i的平方
2012-03-20 13:10
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
回复 7楼 有容就大
http://acm.hdu.

编程之路定要走完……
2012-03-20 13:11
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
回复 8楼 草狼
那是题目要求吧   n^2

编程之路定要走完……
2012-03-20 13:12
快速回复:素数判定
数据加载中...
 
   



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

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