C++程序设计实践指导1.13自然数集中找合数改写要求实现
改写要求1:用单链表实现
改写要求2:析构函数中依次将链表结点删除
#include <cstdlib>
#include <iostream> using namespace std;
struct LinkNode
{
int data;
LinkNode* next;
};
class NOPRIME
{
friend struct LinkNode;
LinkNode* Head;
int n;
public:
NOPRIME(int n1)
{
n=n1;
}
void creat();
int yes(int x)
{
for(int i=;i<x/;i++)
if(x%i==)
return ;
return ;
}
void Search();
void print()
{
LinkNode* p=Head->next;
while(p)
{
cout<<p->data<<'\t';
p=p->next;
}
cout<<endl;
}
~NOPRIME()
{
LinkNode* p=Head;
while(Head)
{
p=Head;
Head=Head->next;
delete(p);
}
}
}; void NOPRIME::creat()
{
Head=new LinkNode;
Head->next=NULL;
LinkNode* p=Head;
int i=n;
while(i)
{
LinkNode* newLinkNode=new LinkNode;
newLinkNode->next=NULL;
p->next=newLinkNode;
p=newLinkNode;
i--;
}
} void NOPRIME::Search()
{
LinkNode* p;
int i,j,t=;
for(i=;;i++)
{
t=;
p=Head->next;
for(j=i;j<i+n;j++)
{
p->data=j;
p=p->next;
if(yes(j)==)
t=;
}
if(t==)
break;
}
}
int main(int argc, char *argv[])
{
NOPRIME num();
num.creat();
num.Search();
num.print();
return EXIT_SUCCESS;
}
C++程序设计实践指导1.13自然数集中找合数改写要求实现的更多相关文章
- C++程序设计实践指导1.12数组中数据线性变换改写要求实现
改写要求1:分别用指针pa.pb代替数组 改写要求2:从键盘输入data元素 元素个数任意,输入0结束 #include <cstdlib> #include <iostream&g ...
- C++程序设计实践指导1.15找出回文数改写要求实现
改写要求1:用单链表实现 #include <cstdlib> #include <iostream> using namespace std; struct LinkNode ...
- C++程序设计实践指导1.14字符串交叉插入改写要求实现
改写要求:1:以指针为数据结构开辟存储空间 改写要求2:被插入字符串和插入字符串不等长,设计程序间隔插入 如被插入字符串长度为12,待插入字符串长度为5 则插入间隔为2 改写要求3:添加函数Inser ...
- C++程序设计实践指导1.10二维数组元素换位改写要求实现
改写要求1:改写为以单链表和双向链表存储二维数组 改写要求2:添加函数SingleLinkProcess()实现互换单链表中最大结点和头结点位置,最小结点和尾结点位置 改写要求3:添加函数Double ...
- C++程序设计实践指导1.1删除序列中相同的数改写要求实现
改写要求1:改写为以指针为数据结构 #include <iostream> #include <cstdlib> using namespace std; class ARP ...
- C++程序设计实践指导1.7超长数列中n个数排序改写要求实现
改写要求1:将以上程序改写为适合超长整数 改写要求2:将以上程序改写为适合超长数列 改写要求3:将数列中指定位置m开始的n个结点重新按降序排序 改写要求4:输出指定位置m开始的n个结点的超长整数 #i ...
- C++程序设计实践指导1.9统计与替换字符串中的关键字改写要求实现
改写要求1:将字符数组str改为字符指针p,动态开辟存储空间 改写要求2:增加统计关键字个数的函数void CountKeyWords() 改写要求3: 增加替换函数void FindKeyWords ...
- C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现
改写要求1:以指针为数据结构动态开辟存储空间 #include <cstdlib> #include <iostream> using namespace std; class ...
- C++程序设计实践指导1.6分数运算改写要求实现
改写要求:重载>>和<<实现分数类对象的直接输入输出,重载+完成多个分数对象加法 #include <cstdlib> #include <iostream& ...
随机推荐
- 滚动到指定元素的id处+当元素出现在浏览器显示区域就会自动加载
//滚动到指定元素的id处 如:$("#Exam82") function Jump() { var scroll_offset = $("#Exam82"). ...
- [Mugeda HTML5技术教程之15]案例分析:制作移动教育课件
本文档要分析的案例是一个一氧化碳还原氧化铜的教育小课件,从中可以体会一些Mugeda API的用法和使用Mugeda动画制作移动教育课件的方法.Mugeda为移动教育领域和移动数字出版领域提供理想的教 ...
- curl 基本使用简介
curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...
- wordpress显示多个分类的文章
显示多个分类下的文章可以这样提取: <?php query_posts(array('posts_per_page'=>10,'orderby'=>'rand','category_ ...
- PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)
摸索了一会儿,先配置成功,再看看PATH_INFO之类的东东吧. A,根目录: location ~ \.php($|/) { root html; fastcgi_pass ; fastcgi_in ...
- VirtualBox 修改UUID实现虚拟硬盘复制
最近用VirtualBox创建虚拟机,复制了一个虚拟硬盘之后,直接添加到列表,发现无法使用....提示为UUID已经被使用. 查找了一下解决方法:一般的介绍说操作方法为: 在命令行中,打开Virtua ...
- 修改和获取web.config或app.config文件appSettings配置节中的Add里的value属性 函数
1: /// <summary> 2: /// 修改web.config或app.config文件appSettings配置节中的Add里的value属性 3: /// </summ ...
- thinkpad t530 centos 6.4 有线网卡 设置
由于新装的系统没有安装网卡驱动,各大厂商的标准又不一样,有的电脑在linux下不用安装无线网卡驱动,而很不幸,我的电脑是ret的网卡,只能自行安装,在安装无线网卡的过程中使用到了chkconfig的命 ...
- Duff策略
Tom Duff首先在C语言中提出了展开循环的构想,所以这种模式被称之为Duff策略.Duff策略背后的思想是每一次循环完成标准循环的1-8次.首先通过数组值得总数除以8来取定循环次数.Duff发现对 ...
- windows任务栏消失
windows任务栏消失,快捷键打开任务管理器,新建任务explorer.exe