| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 924 人关注过本帖
标题:HDU2012素数判定
只看楼主 加入收藏
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
结帖率:100%
收藏
 问题点数:0 回复次数:3 
HDU2012素数判定
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"
#include"math.h"
int sushu(int n)
{
 int i;
 for(i=2;i<sqrt(n);i++)
 {
  if(n%i==0)
  return 0;
  else
  return 1;
 }
}
main()
{
 int x,y,i,t,sum,k;
  while(scanf("%d%d",&x,&y),x,y)
   {
     if(x>y)
     {
      t=x;
      x=y;
      y=t;
     }
     for(i=x;i<=y;i++)
       {
       sum=i*i+i+41;
       k=sushu(sum);
       if(k==1)
       continue;
       else if(k==0)
       break;
       }
       if(k==1)
       printf("OK\n");
       else
       printf("Sorry\n");
   }

}                        我的代码那里错了 谁帮我看看呀
搜索更多相关主题的帖子: 表达式 
2010-12-28 20:53
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
#include"stdio.h"
#include"math.h"
int sushu(int n)
{
int i;
for(i=2;i<int(sqrt(n));i++)
{
  if(n%i==0)
  return 0;
}
return 1;
}
void main()
{
  int x,y,i,t,sum,k=0;
  scanf("%d%d",&x,&y);
  while(x!=0||y!=0)
   {
     if(x>y)
     {
      t=x;
      x=y;
      y=t;
     }
     for(i=x;i<=y;i++)
       {
       sum=i*i+i+41;
       k=sushu(sum);
       if(k==1)
       continue;
       else if(k==0)
       break;
       }
       if(k==1)
       printf("OK\n");
       else
       printf("Sorry\n");
       scanf("%d%d",&x,&y);
    }
}

   唯实惟新 至诚致志
2010-12-28 22:41
JZY0801
Rank: 2
等 级:论坛游民
帖 子:25
专家分:36
注 册:2010-12-23
收藏
得分:0 
# include <stdio.h>

int main()
{
    int x , y , z ;
    int i , a , b ;
    while(scanf("%d%d" , &x , &y) != EOF && (x != 0 || y != 0))
    {
        a = 0 ;
        b = 0 ;
        if(x >= -39 && x <= 50 && y >= -39 && y <= 50 && x < y )
            goto loop ;
        else
            continue ;
loop:    for(x = x ; x <= y ; x++)
        {
            z = x * x + x + 41 ;
            for(i = 2 ; i <= z ; i++)
                if(z % i == 0)
                    break ;
            if(i == z)
                a++ ;
            b++ ;
        }
        if(a == b)
            printf("OK\n") ;
        else
            printf("Sorry\n") ;
    }
    return 0 ;
}
2010-12-29 09:45
kolnick
Rank: 2
等 级:论坛游民
帖 子:24
专家分:13
注 册:2009-6-24
收藏
得分:0 
回复 楼主 kolnick
谢谢已经解决了!!
2010-12-29 12:42
快速回复:HDU2012素数判定
数据加载中...
 
   



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

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