首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

有一周没发贴了 积累了好多分 散下分,该怎么解决

2012-02-24 
有一周没发贴了 积累了好多分 散下分顺便请教一下判断一个数是不是素数还有别的方法吗?这个是我的方法:#in

有一周没发贴了 积累了好多分 散下分
顺便请教一下   判断一个数是不是素数   还有别的方法吗?这个是我的方法:
#include <stdio.h>
main()
{
          int   a,i;
          printf( "please   input   one   number:\n ");
          scanf( "%d ",&a);
          for(i=2;i <a;i++)
          {
                if(a%i==0)
              {
                      printf( "a不是素数 ");
                      return;
              }


          }
          printf( "a是素数 ");

}

[解决办法]
顶 sf~ :)
[解决办法]
#include <stdio.h>
main()
{
int a,i,b;
printf( "please input one number:\n ");
scanf( "%d ",&a);
b = sqrt(a)+1;
for(i=2;i <b;i++)
{
if(a%i==0)
{
printf( "a不是素数 ");
return;
}


}
printf( "a是素数 ");

}

[解决办法]
算法很多吧,具体不晓得,
程序里可以用循环或递归
[解决办法]
换break;
[解决办法]
我是来接分的
[解决办法]
找本书看看
[解决办法]
如果数比较多,大的话,可以用非素数判断法
[解决办法]
没return的:
void main( )
{
int i,m,n;
int flag=0;
m=n/2+1;
for(i=2;i <m;i++)
{
if(n%i==0) /*对m内的数取余看是否为0*/
{
flag=1; /*不是素数将标志置1*/
break; /*跳出循环*/
}
}
if(flag==1)
{
printf( "n isn 't 素数 ");
}
printf( "n is 素数 ");
//ps:from google
[解决办法]
接分!!
[解决办法]
当然要加#include <math.h>
[解决办法]
接分
[解决办法]
楼主程序一直循环到最后.. 效率太低了
[解决办法]
呵呵~~
[解决办法]
学习了
[解决办法]
接分
------解决方案--------------------


jiefen
[解决办法]
jf
[解决办法]
接个分!!
[解决办法]
做表 然后计算撒
计算n/2 的所有黹数
[解决办法]
如果要判断的数小的话,可以先做个素数表。
如果是很大的数的话,就不用这样一个一个的试了,不过有判断错误的概率
[解决办法]
#include <stdio.h>
#include <stdlib.h> //需要包含的头文件
/*
#define MAX 1000
main()
{int i,n,k,m;
int s[MAX]; /*定义筛子*/
printf( "please input the n: ");
scanf( "%d ",&n); /*最大范围*/
if (n> 1){
for(i=2;i <=n;i++)
s[i]=1; /*筛子初始化*/
m=2;
while(m <=n){
if (s[m]==1){ /*判定最小数为素数*/
printf( "%d\t ",m);
k=m;
while(k <=n){ /*移走素数的倍数*/
s[k]=0;
k=k+m;
}
}
m++;
}
} */
system( "pause "); //暂停语句
}
[解决办法]
接分!!!
[解决办法]
本来想说点的,楼上已经很全了,就接下分好了
[解决办法]
接分
[解决办法]
以爲是白送分滴~~~~~~
[解决办法]
sf
[解决办法]
接分
[解决办法]
接分,sf
[解决办法]
jf,sf
[解决办法]
学习了
[解决办法]
这样做执行效率有点低,你直接对要判断的数开根号,然后从0到这个开根号后的数进行循环,效率就高许多了,具体判断方法是一样的,就用你的那部分程序就可以了,稍微改下就可以了.
[解决办法]
其实还可以提高效率的,
只要与2,3,5,7,9,11…… 也就是与 2和奇数比较 即可,可以效率加倍
[解决办法]
对Kenmark(fenix)的方法提个问题

函数sqrt()定义 double sqrt(double x); 要求输入参数和输出值都为double

可是接下来的“%”运算要求操作数是整数

这种数据的隐含转换会因为开发环境不同效果不同的,在VC下运行我测了没有问题,在linux下编译过不去。



[解决办法]
小于一定范围的素数全部列举出来。

[解决办法]
大家比对的时候好像都没有注意2是素数的哦,要先提出来个别对待了!


[解决办法]
jf
[解决办法]
什么是树树啊
[解决办法]
接分
[解决办法]
灌水接分
[解决办法]
接分了
[解决办法]
ding
[解决办法]
需要考虑2也是一个素数的
[解决办法]


jie

热点排行