标题:关于质数和开平方问题
只看楼主
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用alicefioan37在2007-10-27 13:26:40的发言:
有些复杂啊,看不是很懂,那里有数组啊,老师还没教呢,

不用数组照做不误.
用两个函数分别调用,一个一个判断.
void IsPrime(int a,int b);//判断a,b之间的素数,是则输出,然后重新判断(如果有数组,可以用于保存求得素数,然后直接对这些素数做除法判断)
void Issquare(int a,int b);//(t=int sqrt(i) if(t*t==i)Print;)


倚天照海花无数,流水高山心自知。
2007-10-27 19:42
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
第二个问题的解貌似=floor(sqrt(b))-ceil(sqrt(a))+1
2007-10-27 22:34
alicefioan37
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-29
得分:0 

昨天本来已经可以发这篇,不过后来突然停电了,真是郁闷,
以下就是我以前不用函数做的,老师说函数也很简单,只要用isPrime套进去,再加上sqrt()。可是,我有点糊涂了,不知道怎么套啊,给点意见啊
#include <stdio.h>
int main()
{
int x,y,max,mix,a,b,k;
printf("\nPlease enter two numbers:");
scanf("%d %d",&x,&y);

if (x>y)
{
max=x;
mix=y;
}
else
{
max=y;
mix=x;
}

for(a=mix;a<=max;a++)
{
for(b=2;b<=a;b++)
if (a%b==0)
{
if (a!=b)
;

for(k=2;k<a;k++)
{
if (a%k==0)
;
}
break;
}
if (a==b)
{

printf("%d ",a);

}
}
getchar();
}

[此贴子已经被作者于2007-10-28 1:11:55编辑过]

2007-10-28 01:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-181172-1-1.html




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

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