一个很简单的数据结构题目

设计一个程序,输出所有小于等于n(n为一个大于2的正整数)的素数。要求:(1)每行输出10个素数;(2)尽可能采用较优的算法。

第1个回答  2019-07-27
筛法
//---------------------------------------------------------------------------
#include
#include
int
main(int
argc,
char*
argv[])
{
int
n,*s,i,j,count=0;
char
w;
printf("n=");
scanf("%d",&n);
s=malloc(sizeof(int)*n);
for
(i
=
0;
i
评论
0
0
加载更多
第2个回答  2007-11-08
筛法

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
int n,*s,i,j,count=0;
char w;
printf("n=");
scanf("%d",&n);
s=malloc(sizeof(int)*n);
for (i = 0; i<n; i++) {
s[i]=i+1;
}
for (i = 1; i<n; i++) {
for (j=i+1; j<n; j++) {
if (s[i]&&s[j]%s[i]==0) {
s[j]=0;
}
}
}
for (i = 1; i<n; i++) {
if (s[i]!=0) {
printf("%2d%c",s[i],++count%10?' ':'\n');
}
}
free(s);
putchar('\n');
system("pause");
return 0;
}
//---------------------------------------------------------------------------
第3个回答  2007-11-08
我想应该用筛法吧
筛法是求素数的好方法

数据结构题目57:建立一棵二叉排序树
题目: 已知K=(5, 10, 5, 20, 17, 12, 19, 2),建立一棵二叉排序树。解题思路: 建立二叉排序树的原则: 设K=(k1, k2, k3, ..., kn)为数据元素序列。从ki开始依次取序列中的元素,每取出一个数据元素ki,按下列原则建立二叉排序树的一个结点。 1.若二叉排序树为空,则ki就...

数据结构题目(森林与二叉树)
森林与二叉树转换图 如上图中,有A、E、H、G四个非终端节点,我们知道森林转换成二叉树的规则是:兄弟相连,长兄为父,孩子靠左。而每个非终端节点在转换前都有孩子,A有BCD,E有F,H有J,G有HI,按照规则兄弟相连,长兄为父,一个结点会成为前面兄弟的右节点,如:BCD本来是兄弟,转换成二叉树...

数据结构题目,求大神解决。!~!
(1)层次遍历是:86,74,40,53,65,36,16,38,46,14,27,26 (2)答案是:(53,46,40,38,27,34,16,14,26) (74,86,65)

数据结构计算题目
1.前序:A B D E C 中序:D B E A C 后序:D E B C A 2.(3+5)*3+(7+9+11)*2=82 3.快速排序:18 5 16 19 21 23 直接选择:5 16 18 19 21 23 4. 45 40 80 22 48 78 一颗树上的大小顺序:左孩子小于根节点小于右孩子 ...

数据结构:设F是一个森林,B是由F变换得到的二叉树。F中有n个非终端结点...
二叉树B除去根结点,都是某个结点的孩子, 也就是其余每个结点都有指针指向, 占用指针数为 f + n - 1。剩余空指针数为 2(f + n)- (f + n - 1)= f + n + 1 个,f 个终端结点没有孩子, 所以空的左指针域数为f 个;二叉树B 中右指针域为空的结点有 ( f + n + 1 ) ...

数据结构题目求解答!先谢各位了!!
首先说明一下什么是数据的存储结构,它是批数据结构在计算机中的表示(物理结构),主要有四种:顺序存储、链式存储、索引存储和散列存储。顺序存储的特点是:逻辑上相邻的元素存储在物理位置上也相邻的存储单元里,第1题里问“可用存储顺序代表逻辑顺序的数据结构”自然是D顺序存储结构了,因为存储是一个...

数据结构题目: 1、具有n个结点的m次树的最小高度是多少?
1.我把你的"m次树"理解成m叉树.那么最小高度下就是完全树的情况,为 m底log(n) + 1 向下取整.2.不是很明白"最多需要"这种情况,按理说,只要n条边,让整个图连成一个环就是强连通的最小情况了.最多是否指完全图呢?3.(4)不可能.4.A 5.C. 不过D也有可能的,看你的堆排是怎么实现法.

数据结构,设哈夫曼树的叶子结点总数为m,则结点总数为多少,这个题目怎么...
根据二叉树的性质,度为0的结点和度为2 的结点的关系:n0=n2+1很容易算出;叶子结点总数为m的哈夫曼树的总结点数为:2m-1。在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L...

一道数据结构的编程题目,希望大大们给小弟解答下,谢谢哈
一道数据结构的编程题目,希望大大们给小弟解答下,谢谢哈 1.设计一个C程序实现一个N*M的矩阵的转置,原矩阵及其转置矩阵保存在二维数组中2.使用全局变量count。改写矩阵转置程序... 1.设计一个C程序实现一个N*M的矩阵的转置,原矩阵及其转置矩阵保存在二维数组中2.使用全局变量count。改写矩阵转置程序 展开  ...

一道数据结构简单选择题 ,麻烦解释一下~
答案应该选A吧。题目不是说了“其中含有5个长度为2的有序表”了吗,所以说已经相当于进行过一次2路归并了,而你要做的是将两个作为一组,即(25,48)(16,35)(79,82)(23,40)(36,72) 再进行一次2路归并!

相似回答