| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 687 人关注过本帖
标题:杭电2012,VC上是通过的,提交后却是WA,菜鸟请教~~
只看楼主 加入收藏
foreverjjjj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
杭电2012,VC上是通过的,提交后却是WA,菜鸟请教~~
#include "stdio.h"
#include<math.h>

void main()
{
    double x,y,i,j,n,m;
    while(scanf("%lf%lf",&x,&y)!=EOF)
    {
        if(x==0&&y==0)
            break;
        for(n=x;n<=y;n++)
        {
            m=n*n+n+41;
        for(i=2,j=0;i<=sqrt(m);i++)
        {
            if(int(m)%int(i)==0)
            {j++;}
        }
        }
        if(j==0)
            printf("OK\n");
        else
            printf("Sorry\n");
    }
}

菜鸟请教~~~
搜索更多相关主题的帖子: include double 
2009-07-27 10:45
lin52045
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2009-7-24
收藏
得分:5 
VC上也不通过啊
error C2059: syntax error : 'type'
 : error C2059: syntax error : '}'
if(int(m)%int(i)==0)这句话有问题哦

C语言入门新手,大家一起讨论学习!
2009-07-27 11:27
foreverjjjj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-27
收藏
得分:0 
回复 2楼 lin52045
不好意思啊,是在visual studio上通过的
2009-07-27 12:37
bowenbu
Rank: 2
等 级:论坛游民
帖 子:8
专家分:30
注 册:2009-6-23
收藏
得分:5 
不知道你要干什么
修改后如下
#include "stdio.h"
#include<math.h>

void main()
{
    double x,y,i,j,n,m;
    int c,d;
    while(scanf("%lf%lf",&x,&y)!=EOF)
    {
        if(x==0&&y==0)
            break;
        for(n=x;n<=y;n++)
        {
            m=n*n+n+41;
        for(i=2,j=0;i<=sqrt(m);i++)
        {
            c=(int)m;
            d=(int)i;
            if(c%d==0)
            {j++;}
        }
        }
        if(j==0)
            printf("OK\n");
        else
            printf("Sorry\n");
    }
}
2009-07-27 17:21
foreverjjjj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-27
收藏
得分:0 
回复 4楼 bowenbu
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”,每组输出占一行。

 
这是题目,但你改的也在杭电同不过,郁闷啊~~~~~~~~~~~
2009-07-28 09:19
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:10 
为什么用double??

#include <stdio.h>
#include <math.h>

int main()
{
 int x,y,i,j=0,n,m;
 while(scanf("%d%d",&x,&y)!=EOF)
      {
       if(x==0&&y==0)
         break;
       if(x>y) {i=x;x=y;y=i;}
       for(n=x;(n<=y)&&(j==0);n++)
          {
           m=n*n+n+41;
           for(i=2;i<=(int)sqrt(m);i++)
              if(m%i==0)
                {j++;break;}
          }
      if(j==0)
        printf("OK\n");
      else
        printf("Sorry\n");
     }
 return 0;
}
2009-07-28 09:47
foreverjjjj
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-7-27
收藏
得分:0 
回复 6楼 godbless
你的答案也上交过了,是Compilation Error,这是怎么回事啊,我的代码应该没错啊~~~~~~
2009-07-28 19:30
快速回复:杭电2012,VC上是通过的,提交后却是WA,菜鸟请教~~
数据加载中...
 
   



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

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