用动态链表high-poj 1528
//2333333 题目超级水,但是!刚学了链表拿来high一high也不错啊。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <math.h>
#include <queue>
#include <stack>
using namespace std;
#define INF 0x3f3f3f
#define pi acos(-1.0)
#define LL long long
#define N 550
typedef struct student* STU;
#define LENTH sizeof(struct student)
#define null 0
struct student{
int data;
STU next;
};
STU creat_list(STU head)
{
STU p,q;
head=p=(STU)malloc(LENTH);
p->next=null;
q=p;
int x;
while(cin>>x)
{
q->next=p;
p->data=x;
q=p;
q->next=null;
if(x==0)
break;
p=(STU)malloc(LENTH);
}
return head;
}
void print(STU head)
{
STU p;
p=head;
int i,sum,n;
while(p!=null)
{
n=p->data;
if(n==0) break;
else if(n==1) printf("%5d DEFICIENT\n",n);
else
{
sum=1;
for(i=2;i<n;i++){
if(n%i==0)
sum+=i;
}
if(sum<n) printf("%5d DEFICIENT\n",n);
else if(sum==n) printf("%5d PERFECT\n",n);
else printf("%5d ABUNDANT\n",n);
}
p=p->next;
}
}
int main()
{
STU head;
head=creat_list(head);
cout<<"PERFECTION OUTPUT"<<endl;
print(head);
cout<<"END OF OUTPUT"<<endl;
}
用动态链表high-poj 1528的更多相关文章
- 使用C语言描述静态链表和动态链表
静态链表和动态链表是线性表链式存储结构的两种不同的表示方式. 静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针,故仍具有链式存储结构的主要优点. 动态链表是相对于静态链 ...
- vc++基础班[28]---动态数组及动态链表的讲解
C++中也有相应的动态数组.动态链表.映射表的模板类,就是STL中的:vector.list.map 他们属于C++标准中的一部分,对于程序的移植性来说也是不错的,但是在MFC编程中使用 CArray ...
- HDU 2095 find your present (2) 动态链表
解题报告:输入一个n,后面紧跟着输入n个数,输入的这n个数中,除了有一个数的个数为奇数外,其它的数的个数都是偶数个,现在要你找出这个个数为奇数的这个数. 看起来好像很简单的样子,不过,这题的重点不在这 ...
- C++ 数据结构模板 队列 栈 动态链表 模板 Queue Stack List
C++数据结构模板,可以实现基本功能,用法和stl差不多,比如Q.pop();Q.push(a);Q.front();...... (由于动态链表用的不多,若有错误望各位大神不吝赐教:) 队列: cl ...
- 01--数据结构——动态链表(C++)
数据结构——动态链表(C++) 定义一个节点: [cpp] view plain copy print? #include <iostream> using namespace s ...
- C++ -> 在使用动态链表和异质链表产生野指针的步骤
C++ -> 在使用动态链表和异质链表产生野指针的步骤 使用异质链表产生野指针的情况,下面是修改书本的例子: ------------------------------------------ ...
- 数据结构——动态链表(C++)
定义一个节点: [cpp] view plain copy print? #include <iostream> using namespace std; typedef int T; ...
- C的动态链表建立
运用到的函数为: 动态内存分配函数malloc() 比如:char *name=(char *)malloc(20); 相当与c++的new关键字 动态内存释放函数free ...
- poj 1528 Perfection
题目链接:http://poj.org/problem?id=1528 题目大意:输入一个数n,然后求出约数的和sum,在与这一个数n进行比较,如果sum>n,则输出ABUNDANT,如果sum ...
随机推荐
- Solidworks修改零件文件名之后工程图找不到零件怎么办
如下图所示,如果我直接把"压紧柱 V1.0"改名为"压紧柱",则打开工程图之后图纸都没了. 即便你用打开零件的方式找到了这个零件,工程图还是老样子 所以 ...
- a#x#i#o#s封装
封装的js文件如下: /* 用于修改 axios 的一些公用配置,具体参看文档 */import axios from 'axios'import store from '@/store/index. ...
- SVN系列之—-SVN版本回滚的办法
例:SVN版本为:TortoiseSVN 1.9.7 一.SVN简介 subversion(简称svn)是一种跨平台的集中式版本控制工具,支持linux和windows. 版本控制解决了:*代码管理混 ...
- SQL server 数据库
SQL server 的开启关闭和暂停 数据库表格
- FragmentSharedFabTransition
https://github.com/lgvalle/FragmentSharedFabTransition
- Android 代码写控件
1.设置dialog弹出anthor public static SearchDialog getSearchDialog(Context context,OnDismissListener list ...
- Hdu3785
<span style="color:#6600cc;">/* G - 寻找大富翁 Time Limit:1000MS Memory Limit:32768KB 64b ...
- OpenCV2.3.1在CentOS6.5下的安装
安装的linux版本号是centos6.5.选择的是opencv2.3.1.不是非常新的版本号. 由于在安装opencv2.4.9的时候.make的过程中出现了问题. 一:安装依赖包 依赖包用yum安 ...
- 例子:两个表根据productID合并
- Axure Base 10 动态面板滑动效果
示例原型:http://pan.baidu.com/s/1mgjYahi 实现目标: 1. 点击登录滑出登录面板 2. 点击确定滑出动态面板 最终效果如下: 这种效果可以通过两种方法实现: 首先准 ...