Carl_Hugo的日常
Carl_Hugo
Knowledge is Power
展开
-
台阶问题
台阶问题原创 2015-09-14 12:06:48 · 502 阅读 · 0 评论 -
蛇形矩阵
15.9.13 蛇形矩阵原创 2015-09-13 12:49:45 · 501 阅读 · 0 评论 -
递归在数组中的简单应用
求数组中的最值、求和、求平均值原创 2015-09-13 12:45:40 · 554 阅读 · 0 评论 -
递归求最小公倍数
递归求最小公倍数原创 2015-09-14 12:08:26 · 7976 阅读 · 3 评论 -
约瑟夫环
约瑟夫环原创 2015-09-16 12:26:20 · 512 阅读 · 0 评论 -
杨辉三角
杨辉三角原创 2015-09-15 12:05:59 · 619 阅读 · 0 评论 -
筛选素数
筛选法求素数原创 2015-09-16 13:15:13 · 398 阅读 · 0 评论 -
字符串匹配
字符串匹配原创 2015-09-17 13:00:52 · 545 阅读 · 0 评论 -
oj平台上标准输入输出
标准输入输出原创 2015-09-18 13:47:29 · 974 阅读 · 0 评论 -
归并排序
归并排序原创 2015-09-22 12:01:52 · 294 阅读 · 0 评论 -
字符串全排列
字符串全排列原创 2015-09-23 12:40:21 · 344 阅读 · 0 评论 -
堆排序
堆排序原创 2015-09-24 12:12:41 · 311 阅读 · 0 评论 -
字符串排序
字符串排序原创 2015-09-24 12:47:15 · 777 阅读 · 0 评论 -
汉诺塔
汉诺塔原创 2015-09-25 12:08:51 · 365 阅读 · 0 评论 -
建立二叉树(已知中序遍历和先序遍历)
#include<stdio.h>#include<string.h>struct Node{ Node *lchild; Node *rchild; char c;}Tree[50];int loc; //记录节点个数char str1[30],str2[30];Node *Create(){ Tree[loc].lchild=Tree[loc].r原创 2016-02-14 13:05:12 · 325 阅读 · 0 评论 -
二叉排序树
//建立二叉排序树并遍历#include<stdio.h>#include<string.h>struct Node{ Node *lchild; Node *rchild; int c;}Tree[100];int loc; //记录节点个数Node *Create(){ Tree[loc].lchild=Tree[loc].rchild=NULL;原创 2016-02-14 13:06:19 · 245 阅读 · 0 评论 -
穷举
#include<cstdio>int main(){ char a,b,c; for(a='X';a<='Z';a++) for(b='X';b<='Z';b++) if(a!=b) for(c='X';c<='Z';c++) { if(a!='X'&&c!='X'&&原创 2016-03-02 08:20:09 · 277 阅读 · 0 评论 -
水仙花数
#include<cstdio>int main(){ int n,t1,t2,t3,i,l; for(i=100,l=0;i<=999;i++) { t1=i%10; t2=i/10%10; t3=i/100%10; if(i==t1*t1*t1+t2*t2*t2+t3*t3*t3) {原创 2016-03-02 08:26:27 · 262 阅读 · 0 评论 -
分解质因数
#include<cstdio>int isPrime(int a){ int i; for(i=2;i*i<=a;i++) if(a%i==0) break; if(i*i>a&&a!=1) return 1; else return 0;}void PrimeFactor(int n){原创 2016-03-02 08:39:58 · 447 阅读 · 0 评论 -
取火柴
#include<cstdio>int main(){ int c,p,spare=21; printf("你能战胜我吗?\n"); while(1) { printf("还有%d根火柴\n",spare); printf("People:"); scanf("%d",&p); if(p<1||p>4|原创 2016-03-02 08:55:00 · 493 阅读 · 0 评论 -
完全数
#include<cstdio>int main(){ int j,i,sum; for(i=1;i<=1000;i++) { sum=0; for(j=1;j<i;j++) { if(i%j==0) sum+=j; } if(sum==i原创 2016-03-02 09:04:46 · 331 阅读 · 1 评论 -
亲密数
#include<cstdio>int list[3001];int factorSum(int n){ int i,sum=0; for(i=1;i<n;i++) { if(n%i==0) sum+=i; } return sum;}int isFriend(int i,int j){ if(i==lis原创 2016-03-02 09:20:25 · 311 阅读 · 0 评论 -
谁在说谎
每一个人都有两种情况#include<cstdio>int main(){ int a,b,c; for(a=0;a<=1;a++) for(b=0;b<=1;b++) for(c=0;c<=0;c++) if((a==1&&b==0||a==0&&b==1)&&(b==1&&c==0||b==0&&c==1)原创 2016-03-02 09:30:14 · 570 阅读 · 0 评论 -
连续整数固定和
#include<cstdio>void cntnsIntSum(int n){ int i,j,sum; for(i=1;i<n;i++) { sum=0; for(j=i;j<n;j++) { sum+=j; if(sum==n) {原创 2016-03-03 08:36:34 · 416 阅读 · 0 评论 -
将一个数表示成任意两个数的平方和
#include<cstdio>void getXY(int n){ int x,y; for(x=1;x*x<n;x++) for(y=x;y*y<n;y++) if(n==x*x+y*y) printf("%d^2+%d^2=%d\n",x,y,n);}int main(){ int n;原创 2016-03-03 08:45:14 · 3200 阅读 · 0 评论 -
验证角谷猜想
#include<cstdio>void proveJiaoGu(int n){ int count=1; while(n!=1&&count<=1000) { if(n%2==0) { printf("%d/2=%d\n",n,n/2); n=n/2; } el原创 2016-03-03 08:55:57 · 1072 阅读 · 0 评论 -
验证四方定理
#include<cstdio>int mode_1(int n){ int i; for(i=1;i<n;i++) if(i*i==n) { printf("%d*%d=%d\n",i,i,n); return 1; } return 0;}int mode_2(int n)原创 2016-03-03 09:14:32 · 2017 阅读 · 2 评论 -
寻找同构数
#include<cstdio>void gettonggou(){ int i; for(i=1;i<1000;i++) { if(i<=9) { if(i*i%10==i) printf("%d ",i); } else if(i<=99)原创 2016-03-03 09:25:09 · 1363 阅读 · 0 评论 -
单链表升序合并
#include<stdio.h>#include<stdlib.h>#define NULL 0typedef struct LNode{ struct LNode *next; int data;}LNode,*list;void createList(list &l,int n){ list p,q; l=(list)malloc(sizeof(LNo原创 2016-03-16 09:00:36 · 513 阅读 · 0 评论 -
头插法创建单链表
#include<stdio.h>#include<stdlib.h>#define NULL 0typedef struct LNode{ struct LNode *next; int data;}LNode,*list;void createListF(list &l,int n){ list q,C; l=(list)malloc(sizeof(LN原创 2016-03-16 09:22:15 · 462 阅读 · 0 评论 -
升序合并为降序
#include<stdio.h>#include<stdlib.h>#define NULL 0typedef struct LNode{ struct LNode *next; int data;}LNode,*list;void createList(list &l,int n){ list q,p; l=(list)malloc(sizeof(LNo原创 2016-03-16 09:38:18 · 564 阅读 · 0 评论 -
组合数
#include<cstdio>int cnr(int m,int n){ if(n==m||n==0) return 1; else return cnr(m-1,n)+cnr(m-1,n-1);}int main(){ int m,n; scanf("%d%d",&m,&n); printf("C(%d,%d)=%d\原创 2016-03-04 09:14:40 · 249 阅读 · 0 评论 -
递归求幂
#include<cstdio>unsigned long myPow(int m,int n){ unsigned long tmp; if(n==1) return m; if(n==0) return 1; if(n%2==0) { tmp=myPow(m,n/2); return tmp原创 2016-03-04 09:21:55 · 557 阅读 · 0 评论 -
将连续空格合并
#include<cstdio>void input(){ char c,lastc='a'; scanf("%c",&c); while(c!=EOF) { if(c!=' ') { putchar(c); lastc=c; scanf("%c",&c);原创 2016-03-04 09:30:39 · 466 阅读 · 0 评论 -
输出最大数和第二大数
#include<cstdio>int main(){ int max=-10000,sec=-10000,a,i; for(i=0;i<10;i++) { scanf("%d",&a); if(a>max) { sec=max; max=a; }原创 2016-03-04 09:38:42 · 601 阅读 · 0 评论 -
递归法将整数转换为字符串
#include<cstdio>void trans(int n){ int i; i=n%10; if(n/10>0) trans(n/10); printf("%c",i+'0');}int main(){ int n; scanf("%d",&n); trans(n); printf("\n");}原创 2016-03-04 09:43:18 · 2112 阅读 · 0 评论 -
合并两个链表
#include<stdio.h>#include<stdlib.h>#define N 5#define NULL 0typedef struct LNode{ struct LNode *next; int data;}LNode,*list;void creatList(list &l,int n){ list p,q; int i; l=(原创 2016-03-05 09:14:42 · 275 阅读 · 0 评论 -
链表查找
#include<stdio.h>#include<stdlib.h>#define N 5#define NULL 0#define OK 1#define ERROR 0///////////////typedef struct LNode{ struct LNode *next; int data;}LNode,*list;void creatList(lis原创 2016-03-05 09:57:10 · 330 阅读 · 0 评论 -
双链表逆向输出
#include<stdio.h>#include<stdlib.h>#define NULL 0typedef struct DLNode{ struct DLNode *prior,*next; int data;}DLNode,*dlnode;void createDlistR(dlnode &l,int n){ dlnode p,q; l=(dln原创 2016-03-17 15:31:29 · 809 阅读 · 0 评论 -
插入排序(变化)
//数组元素存放在1~m+n的范围,前m个有序,后n个也有序,设计算法,使整个顺序表有序#include<stdio.h>void insert(int R[],int m,int n){ int temp,i,j; for(i=m+1;i<=m+n;i++) { temp=R[i]; for(j=i-1;j>=1&&R[j]>temp;j原创 2016-03-17 15:50:39 · 198 阅读 · 0 评论