算法
NBA粉丝啦
这个作者很懒,什么都没留下…
展开
-
最大孪生数
第一次发表见谅判断前后连个数是否是孪生数bool mathtest(int x){ for(int i=2;i<x;i++) { if(x%i==0) break; else if(i>x-2) { //printf("aaa\n"); return true;原创 2015-04-12 10:22:00 · 352 阅读 · 0 评论 -
素数乘积
#include<stdio.h>bool isPrime(int n){ if(n < 2) return false; for(int i = 2; i < n; ++i) if(n%i == 0) return false; return true;}int sum(int n){ int sum=1,i=2,count=0; do{原创 2015-04-14 22:04:56 · 943 阅读 · 0 评论 -
关联矩阵
问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。 输入格式 第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。 接下来m行,每行两个整数a、b,表示图中有(a,b)边。 注意图中可能含有重边,但不会有自环。 输出格式 输出该图的关联矩阵,注意请勿改变边和结点的顺序。 样例输入 5 9 1 2 3 1 1 5 2 5原创 2015-04-14 22:23:08 · 976 阅读 · 0 评论 -
操作格子
问题描述 有n个格子,从左到右放成一排,编号为1-n。 共有m次操作,有3种操作类型: 1.修改一个格子的权值, 2.求连续一段格子权值和, 3.求连续一段格子的最大值。 对于每个2、3操作输出你所求出的结果。 输入格式 第一行2个整数n,m。 接下来一行n个整数表示n个格子的初始权值。 接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2原创 2015-04-14 22:24:42 · 359 阅读 · 0 评论 -
租金问题
#include<stdio.h>int main(){ int r[10][10]; int rr[10][10]; int i,j; int temp=0; int min=0; int k,d; for(i=0;i<3;i++) { for(j=i+1;j<=3;j++) {转载 2015-04-14 21:52:35 · 475 阅读 · 0 评论 -
删除零元素。
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。 样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数) 5原创 2015-04-14 22:39:55 · 367 阅读 · 0 评论 -
回溯法基本框架
//递归回溯法,表示深度递归,for循环中的f(n,t)和g(n,t)分别飙汗死在当前可行解X void backTrack(int i){ if(i>n) { OutPut(x); } else { for(int i=f(n,t);i<=g(n,t);i+=) { x[t]=h(i)原创 2015-04-14 21:55:46 · 479 阅读 · 0 评论 -
最优服务次数
#include<stdio.h>int main(){ int count,sum=0; scanf("%d",&count); int data[10]; int hould[10]={0}; for(int i=0;i<count;i++) { scanf("%d",&data[i]); } for(int k转载 2015-04-14 21:53:29 · 392 阅读 · 0 评论 -
切面条问题
#include<stdio.h>int fun(int x){ if (x <= 0) return 2; else return fun(x - 1) + x;}int main(){ int b=fun(10); printf("%d\n",b); return 1;}原创 2015-04-14 21:41:06 · 389 阅读 · 0 评论 -
输入一个数倒序输出
比如输入123则返回321#include<stdio.h>int main(){ int a,r,b=0; printf("请输入一个数") scanf("%d",&a); do{ r=a%10; printf("%d",r); a=a/10; //b=b*10+r; }while(a!=0); pri原创 2015-04-14 21:44:27 · 3477 阅读 · 0 评论 -
李白喝酒问题
int ans; void dfs(int alco,int store,int flower, int pre){ if(store == 0 && flower == 0 ){ if(pre == 0 && alco == 0)ans++; return ; } if(store > 0){ dfs原创 2015-04-14 21:45:50 · 356 阅读 · 0 评论 -
0~9数字问题
输入一个数判断从1开始到这个数总共出现多少次的0~9,比如输入一个10就出现0—-11—-22—-13—-14—-15—-16—-17—-18—-19—1#include<stdio.h>int main(){ int nubmer[11] = {0,0,0,0,0,0,0,0,0,0,0}; int i,j; long a; printf("原创 2015-04-12 10:35:43 · 514 阅读 · 0 评论 -
N皇后问题(递归)
#include<stdio.h> #include<math.h> #include<stdlib.h>#include<conio.h> #define N 15 int n; //皇后个数 int sum = 0; //可行解个数 int x[N]; //皇后放置的列数 /* *判断函数,判断第k个皇后是否可以放在某一个位置 *如果与之前的皇后出现在同一原创 2015-04-14 21:37:44 · 332 阅读 · 0 评论