小算法
文章平均质量分 58
Venidi
这个作者很懒,什么都没留下…
展开
-
N 皇后问题(暴力搜索)
#include#include#define n 8//暴力搜索int main(){ int a[n]={0};//以一维数组限制每行只有一个皇后,数组内的值为皇后所在列的位置 int num,i,j,temp; int flag; int count = 0; for(num=0;num<pow(n,n);num++){//共pow(n,原创 2016-09-09 19:18:53 · 1573 阅读 · 0 评论 -
阶梯数问题
/*阶梯问题。一道有趣的数学问题:有一个长阶梯,若每步上2个台阶,最后剩1个台阶;若每步上3个台阶,则最后剩两个台阶;若每步上5个台阶,则最后剩4个台阶,若每步上6个台阶,则最后剩5个台阶;只有每步上7个台阶,最后刚好一个也不剩。请问该阶梯至少有多少阶。请编程解决该问题。*/#include"stdio.h"int main(){ int i; for(i=1;i原创 2015-02-02 18:50:11 · 1174 阅读 · 2 评论 -
新娘和新娘配对
/*新郎和新娘。3对新婚夫妇参加婚礼,3个新郎为A、B、C,3个新娘为1、2、3。有人不知道谁和谁结婚,于是询问了6位新人中的3位,但听到的回答是这样的:A说他将和1结婚;1说她的未婚夫是C;C说他将和3结婚。这人听后知道他们在开玩笑,说的全是假话。请编程找出谁将和谁结婚。*/#include"stdio.h"int main(){ int i,j,k; for(i=原创 2015-02-02 18:31:27 · 794 阅读 · 0 评论 -
判断是否是回文数字或者回文字符串
#include"stdio.h"#include"string.h"#define N 20 int main(){char str[N]; printf("please input a string...\n"); gets(str); int high,low; for(low=0,high=strlen(str)-1;low原创 2015-02-01 20:34:18 · 584 阅读 · 0 评论 -
填数字游戏求解
/*填数字游戏求解。有这样一个算式:ABCD*E=DCBA其中ABCDE代表的数字各不相同。请编程计算ABCDE各代表什么数字。*/#include"stdio.h"int main(){ int a,b,c,d,e; int num=0,num2=0; for(a=1;a<9;a++) for(b=0;b<9;b++) for(c=1;c<9;c++)原创 2015-02-01 14:47:38 · 1390 阅读 · 0 评论 -
三色球问题
//三色球问题。有红、黄、绿三种颜色的球,//其中红球3个,黄球3个,绿球6个。//现将这12个球混放在一个盒子里,//从中任意摸出8个球,编程计算摸出球的各种颜色搭配。#include"stdio.h"int main(){ int i,j,k; int sum=0; for(i=1;i<=3;i++) for(j=1;j<=3;j++) for(k=1;k<=原创 2015-01-20 19:32:50 · 1226 阅读 · 0 评论 -
求阶乘和(26以内)
//阶乘和#include"stdio.h"int fun(int m);int main(){ int n,i,sum=0; printf("please input the number:\n"); scanf("%d",&n); for(i=1;i<=n;i++) sum+=fun(i); printf("%d\n",sum); return 0;}原创 2015-01-20 12:47:16 · 886 阅读 · 0 评论 -
约瑟夫环 2
#include"stdio.h"int main(){ int n,k,num; int a[100][2]; int i,j; int peo,temp,con=0; printf("请输入人数:\n"); scanf("%d",&n); printf("从第几个数开始报数?\n"); scanf("%d",&k); printf("几个数为一个循环?\n"); s原创 2015-01-18 14:38:09 · 620 阅读 · 0 评论 -
随机产生50个0~6之间的整数,分别统计每个数的个数。
//随机产生50个0~6之间的整数,分别统计每个数的个数。#include"stdio.h"#include"time.h"#include"stdlib.h"int main(){ int i,a[50],b[7]={0}; srand(time(0)); for(i=0;i<50;i++) { a[i]=rand()%7; printf("%d\t",a[i])原创 2015-01-17 21:45:50 · 1550 阅读 · 0 评论 -
编写函数fun,其功能是:求出1,1+2,1+2+3各项的值, 并放在一维数组a中传回主函数。
编写函数fun,其功能是:求出1,1+2,1+2+3各项的值,并放在一维数组a中传回主函数。例如:若k=6,则应输出:1 3 6 10 15 21。函数原型为:void fun(int *a, int k )#include"stdio.h"void fun(int *a, int k );int main(){ int n; int a[100]; printf("p原创 2015-01-17 11:53:14 · 5218 阅读 · 0 评论 -
用文件简单的的学生信息管理(第一次用,好多不懂的地方,大家多指正)
/*(2)有10个学生,每个学生的数据包括学号、姓名和3门课成绩,1 计算每个学生的平均分,并将学生信息存入磁盘文件"stud"中;2 输入一个学生的学号,在文件"stud"中,将该生删除,其结果仍保存在原文件"stud"中。*/#include"stdio.h"#include"stdlib.h"struct Student{ int num; char name[10];原创 2014-12-31 23:04:24 · 833 阅读 · 0 评论 -
验证哥德巴赫猜想
设计一个函数,验证哥德巴赫猜想(任意一个大于等于6的偶数都可以分解为两个素数之和)。#include"stdio.h"int judge(int n){ int i,flag=0; for(i=2;i<n/2;i++) if(n%i==0) { flag=1; break; } return flag;}int div(int n){ int i;原创 2014-12-26 00:03:24 · 995 阅读 · 0 评论 -
约瑟夫问题
有n个人围成一圈,顺序编号,从第一个人开始报数,凡报到3的人出圈,编写程序,问最后留下的是原来第几号的那位?#include"stdio.h"int main(){ int a[100][2]; int i,n; int index,count; int temp=1; printf("please input a number:\n"); scanf("%d",&n);原创 2014-12-25 23:54:15 · 453 阅读 · 0 评论 -
将数组中的正负数就地归类
#include"stdio.h"int main(){ int a[10]={-1,3,5,7,-9,-2,-4,6,-8,1}; int i,j=0,temp; for(i=0;i<10;i++){ temp=a[j]; if(a[i]<0){ a[j]=a[i]; a[i]=temp;原创 2015-09-11 18:37:54 · 914 阅读 · 0 评论 -
顺序表的基本操作(创建,遍历,查找,删除,归并)
#include"stdio.h"#include"stdlib.h"#define SIZE 10#define LISTINCREMENT 10typedef struct{ int *elem; int length; int listsize;}SqList;void Print_List(SqList L){ //遍历顺序表 int i; f原创 2015-09-20 18:35:46 · 2606 阅读 · 0 评论 -
统计一本N页的书含有的数字各几个
public class PageNum { public static void main(String[] args){ int num = 1234 ; int higher,len,temp,rest; len = (int)Math.log10(num); int[] array= new int[10];原创 2016-09-10 10:18:37 · 734 阅读 · 0 评论 -
大数加法
#include"stdio.h"#include"string.h"#define N 10#define M 11int main(){ char a1[N],b1[N],a[N],b[N],s[M]; int i,j,alen,blen; scanf("%s",a1); scanf("%s",b1); alen=strlen(a1); blen=strlen(b1原创 2016-02-13 12:10:41 · 393 阅读 · 0 评论 -
在以单链表表示的正整数的有序集合上,实现集合的并、交和差运算
/*在以单链表表示的正整数的有序集合上,实现集合的并、交和差运算。基本要求: (1)用单链表存储集合中的数据; (2)对单链表中的数据进行排序。*/#include#include#includetypedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void CreateLin原创 2016-02-04 18:23:44 · 5442 阅读 · 0 评论 -
C语言实现哈夫曼编码
#include#include#includetypedef struct{ char ch; int weight; int parent,lchild,rchild;}HTNode,*HuffmanTree;typedef char ** HuffmanCode;void Select(HuffmanTree HT,int n,int &s1,int &s2){原创 2016-02-04 18:22:44 · 1257 阅读 · 0 评论 -
大数乘法
当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结#include"stdio.h"#include"string.h"int main(){ char a[9],b[9],s[100],a1[9],b1[9]; int i,j,alen,b原创 2016-02-03 13:00:53 · 1113 阅读 · 0 评论 -
上帝造题五分钟
问题描述 第一分钟,上帝说:要有题。于是就有了L,Y,M,C 第二分钟,LYC说:要有向量。于是就有了长度为n写满随机整数的向量 第三分钟,YUHCH说:要有查询。于是就有了Q个查询,查询向量的一段区间内元素的最小值 第四分钟,MZC说:要有限。于是就有了数据范围 第五分钟,CS说:要有做题的。说完众神一哄而散,留你来收拾此题输入格式 第一行两个原创 2016-01-30 11:44:40 · 519 阅读 · 0 评论 -
题 新建文档(有点乱)
问题描述 L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:“你出的题目叫《新建Microsoft Word文档》吗?”,L大喜,一拍桌子,说:“好,就叫这个名字了。” 仔细观察,当你新建一个word文档时,会得到一个名为“新建 Microsoft Word 文档.doc”的文件,再新建一个,则名为“新建 Microsoft Word 文档(2).doc”,再新建,便原创 2016-01-27 18:39:43 · 385 阅读 · 0 评论 -
快乐司机(贪心)
问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。多拉不是超载,是要让所载货物价值最大,特别是在当前油价日新月异的时候。司机所拉货物为散货,如大米、面粉、沙石、泥土...... 现在知道了汽车核载重量为w,可供选择的物品的数量n。每个物品的重原创 2016-01-25 15:07:47 · 616 阅读 · 0 评论 -
身份证号升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算方案: 将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分原创 2016-01-24 15:39:49 · 874 阅读 · 0 评论 -
输入一个集合,求集合内最大乘积
#include"stdio.h"int main(){ int arr[20]; int n,s; int max=-111; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&arr[i]); } for(int i=0;i<n;i++){ s=arr[i]; for(int j=1;j<n;j++)原创 2016-01-24 13:58:36 · 529 阅读 · 0 评论 -
暴力搜索求0--9全排列的第n个
#include"stdio.h"int main(){ int a; int count =0; int i,j,k,l,m,n,o,p,q,r; scanf("%d",&a); for(i=0;i<=9;i++){ for(j=0;j<=9;j++){ if(j!=i){ for(k=0;k<=9;k++){ if(k!=i && k!=j){原创 2016-01-24 13:56:15 · 918 阅读 · 0 评论 -
二叉树建立、遍历(递归非递归),求结点等
/*(1)输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F##,建立二叉树的二叉链表。 (2)写出对用二叉链表存储的二叉树进行先序、中序和后序遍历的递归和非递归算法。(3)写出对用二叉链表存储的二叉树进行层次遍历算法。(4)求二叉树的所有叶子及结点总数。*/#include"stdio.h"#include"stdlib.h"#define STACK_IN原创 2015-10-25 16:37:35 · 844 阅读 · 0 评论 -
编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标
编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标”点数则获胜,掷出7则落败,其他情况都忽略,游戏继续进行。每局游戏结束时,程序询问用户是否再玩一次,如果用户输入的回答不是y或Y,程序会显示胜败的次数然后终止。原创 2014-12-24 20:29:45 · 13272 阅读 · 4 评论