c语言:对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)判定该表达式的值是否都为素数

作者&投稿:纵奚 (若有异议请与网页底部的电邮联系)
素数判定 于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39~

#include
using namespace std;
int main()
int x,y;
while(cin>>x&&cin>>y)
int n,s,k=0,flag=0;
if(x==0&&y==0)break;
if(x>y)
int t;
t=x;
x=y;
for(n=x;n
含义
以下15个区间内质数和孪生质数的统计数。
S1区间1——72,有素数18个,孪生素数7对。(2和3不计算在内,最后的数是孪中的也算在前面区间。)
S2区间73——216,有素数27个,孪生素数7对。
S3区间217——432,有素数36个,孪生素数8对。
S4区间433——720,有素数45个,孪生素数7对。
S5区间721——1080,有素数52个,孪生素数8对。

for (x;x<=y;x++)
{
a=0;
z=x*x+x+41;
for (i=2;i<=sqrt(z);i++)
{
if(z%i==0) ///只要找到一个不是素数的,就可以判定不ok了,此时双重循环就应该结束了。
a=1;
}
}

由于该结束的时候,你没有结束,造成 循环继续执行那么 a=1 又被 a=0重新覆盖了,这样还能判断出结果吗?如果最后一个是素数,那么你的结果肯定会不正确的。

#include <stdio.h>
int main()
{
    int x, y, m, n, i, j;
    while (scanf("%d%d", &x, &y) != EOF)
    {
        i = 2;
        j = 0;
        for (n = x; n <= y; n++)
        {
            m = n * n + n + 41;
            i = 2;//<======================
            while (i < m)//<======================
            {
                if (m % i == 0)
                    break;
                i++;
            }
            if (i == m)
                j = 1;
        }
        if (j == 1)
        {
            if (x == 0 && y == 0)
                continue;
            else
                printf("OK
");
        }
        if (j == 0)
            printf("Sorry
");
    }
    return 0;
}



以下答案已Accepted
#include<stdio.h>
#include<math.h>
int sushu(int s);
int main()
{
int x,y;
while(scanf("%d%d",&x,&y)!=EOF)
{
if(x==0&&y==0)
{break;}
int i,n,s,flag=0;
for(i=x;i<=y;i++)
{
n=i;
s=n*n+n+41;
if(sushu(s)!=0)
{
break;
}
}
if(i>y)
printf("OK\n");
else
printf("Sorry\n");
}
return 0;
}
int sushu(int s)
{
int i,flag=0;
for(i=2;i<=sqrt(s);i++)
{
if(s%i==0)
{
flag=1;
break;
}
}
if(flag==0)
return 0;
else
return 1;
}


简单C语言题:若 t 为 double 类型.求表达式:t=1,t+5,t++的值!!_百度...
逗号运算符是取的最后个表达式的值,作为整个表达式的值 表达式1,表达式2,表达式3---,表达式n 不管前面有多少个表达式,表达式n的值作为,整个表达式的值。因为t++的表达式的值为1所以表达式的值为1,不是指t的值为1,计算下来t的值为2

C语言菜鸟问题
本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。对于逗号表达式还要说明两点:1.逗号表达式一般形式中的表达式1和表达式2 也可以又是逗号表达式。例如: 表达式1,(表达式2,表达式3) 形成了嵌套情形。因此可以把逗号表达式扩展为以下形式: 表达式1,表达式2,…表达式n ...

c语言switch case语句例子是什么?
c语言switch case语句例子如下:case 常量表达式1:语句1;可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围。[break;] 中括号,表示此语句可以没有。case 常量表达式2:[break;]……case 常量表达式n:语句n。[break;][default:]。switch语句规则:case标签必须是常量...

c语言题目:int x=6,y=3,z; print(%d\\n,z=(x\/y,x%y));结果是多少? 顺便...
你的问题z=(x\/y,x%y));x\/y=2;x%y=0;z=(2,0);z=0;不懂看下面逗号表达式问题。逗号表达式 逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n 逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值。最后整个逗号表达式的值是表达式n的值。...

C程序语言中printf(“%d\\n”,(a=a+1,a+6,b+2))的意思
(a=a+1,a+6,b+2)是逗号表达式,它的一般形式是:表达式1,表达式2,表达式3,。。。,表达式N,它的值为表达式N的值。所以,就是b+2

C语言的问题:表达式i=1,2,3值是多少?
逗号表达式 逗号表达式的形式如下:表达式1,表达式2,表达式3,... ,表达式n 逗号表达式的要领:(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优先级别在所有运算符中最低。例题1:若已定义x和...

C语言中 int a=5,b=-3,c=4;printf("%d %d",(++a,b++,b++),b++);为 ...
首先我们看逗号表达式:格式:表达式1,表达式2,...表达式n;它的原理是这样的,执行表达式1,再执行表达式2,一次类推。。。一直执行到表达式n;但是最后整条语句的最终结果取表达式n的值;比如,有一个这样的语句:a = (1,2,3);那a的值最终结果为3;因此(++a,b++,b++)此表达式的最终取值...

关于C语言的基础编程,一个提问。NO.3
a*4)的值是60 逗号表达式的形式如下:表达式1,表达式2,表达式3,... ,表达式n 逗号表达式的要领:(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优先级别在所有运算符中最低。

请教C语言问题
j=(A && B);\/\/即是9&&8,两个都不为0,所以j=1。因为这里括号具有最高优先级,所以先计算括号的。对于逗号,编译器是从左到右逐字句进行的,例如:i=1,i=2,i=3;最终结果是最后执行的“i=3”,所以i最终为3,而整个语句的值,即:j=(i=1,i=2,i=3);是多少呢?告诉你是最后语句...

c语言中。设int a=5,b=6, 写出表达式 a=a+b, a-b 的值_ ?
由于逗号运算符的优先级最低,在“表达式1,表达式2,...,表达式n,”中,逗号表达式的结果为最后一个表达式的值,即表达式n的值。如果语句为a=a+b,a-b;则先运算a=a+b,再运算a-b,而整个逗号表达式的值为5,即a-b的值,最后结果为a=11,b=6。如果语句为a=(a+b,a-b);则先运算a+b,...

金昌市19470744845: 一个用C语言编程的题目 不知道哪错了! -
古翁华乐: t=n^2+n+41改成t=n*n+n+41

金昌市19470744845: 一个c 语言编程 -
古翁华乐: 你把if(i!=n-1)改成if(i==n)就可以了.另外,你在 if(i!=n-1) t++; 后面加上一个 e...

金昌市19470744845: C语言问题 -
古翁华乐: #include<stdio.h>#include<math.h> int P(int n)//最好换为IsPrime { int i,l; if(n<=1) return 0; if(n==2) return 1; if(n%2==0) return 0; l=sqrt((double)n)+1; for(i=3;i<=l;i+=2) { if(n%i==0) return 0; } return 1; } int main() { int x,y,n,i,p,s; while(scanf("%d %d",...

金昌市19470744845: 一道超简单的C语言题..但我糊涂了
古翁华乐: 以下是我的代码://---------------------------------------------------------------------------#include &lt;stdio.h&gt;#include &lt;math.h&gt;int bol(long int a)/*如果a是素数,则返回1,否则返回0*/{ long int i,st=(long int)sqrt(a); for (i=2; i&lt;=st; i++) if (a%i==0) return 0; ...

金昌市19470744845: ACM中的一题 找素数 -
古翁华乐: #includeint main(void) {int x,y,i,j,k,sum,t;while(scanf("%d%d",&x,&y)!=EOF){sum=0;if(x==0&&y==0) break;for(i=x;i<=y;i++){t=i*i+i+41;k=1;for(j=2;j*j<=t;j++){if(t%j==0){k=0;break;}}if(k)sum++;}if(sum==y-x+1)printf("OK\n");elseprintf("Sorry\n");}return 0;}

金昌市19470744845: 就是 帮忙看一下 这道题 的解答 有什么错谢谢
古翁华乐: 或许是正负数的问题吧,你取绝对值试试.

金昌市19470744845: 求大神指教该程序的错误
古翁华乐: 看这句:D:\Temp\5_0_1888293_1722.cpp(14) : error C2668: “sqrt” : 对重载函数的调用不明确 sqrt是库函数,用来开方,系统重载了三个sqrt,就是下面的: long double sqrt(long double) : 用来对long double数据开方,返回的结果是long ...

金昌市19470744845: c语言证实2^67 - 1不是素数. -
古翁华乐: 合数美国数学家科勒证明,2^67-1=193707721*761838257287,是一个合数. 质数就是在所有比1大的整数中,除了1和它本身以外,不再有别的约数,这种整数叫做质数或素数.还可以说成质数只有1和它本身两个约数.这终规只是文字上的...

金昌市19470744845: 杭电2012 判定素数 一直WA 坐等大侠解惑 万分感激~~ -
古翁华乐: 楼上SB不解释 #include<stdio.h> int main() { int x,y,i,n,j,k; while(scanf("%d%d",&x,&y)!=EOF) { if(x==0&&y==0) break; if(x>y) { y+=x; x=y-x; y=y-x; } for(i=x;i<=y;i++) { n=i*i+i+41; for(j=2;j<n;j++) { if(n%j!=0) { k=0;continue;}else { k=1; break; }} if(k=...

金昌市19470744845: C语言问题 ACM -
古翁华乐: sqrt ()要用浮点型,加个类型转换吧sqrt(1.0*sample) 另外建议在结尾加一个return 0;就这错误,我原来做也是 VC6.0查不出,但HDOJ不过…… C语言求平方根函数:sqrt功 能: 计算一个非负实数的平方根函数原型: 在VC6.0中的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网