
C语言趣味编程
清风飏
有条理,有规划,忙而不乱
展开
-
1.2算法入门之借书方案
一 . 问题描述小明有5本新书,要借给A,B,C这3个小朋友,若每次只能借1本,则可以多少不同的借法?二. 问题分析 本题属于数学的排列组合问题,给5本书进行编号,即求3个不同数字的排列组合总数,将5本书编号,A,B,C3人每次可以从5本书选择1本,即为5种选择,现在条件为1本书只能借给一个人,三. 算法设计采用穷举法 a原创 2016-03-29 18:09:03 · 643 阅读 · 0 评论 -
8.1趣味编程之定理猜想
1>四方定理 数论中著名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。采用穷举法#include<stdio.h>#include<stdlib.h>#include<math.h> void main() {int number,i,j,k,l;printf("Please enter a number=");scanf("%d",&number); /*输原创 2016-05-02 13:01:29 · 719 阅读 · 0 评论 -
7.2趣味递归法若干问题
1>递归解决年龄的问题 五个人在一起,问第5个人,他说比第四个人大两岁,问第四个人,他说比第三个人大两岁….最后一人说他十岁,求输入几个人时求出对应的年龄归纳为数学公式 age(n-1)+2 (n>1) age(n)= 10 (n=1)//递归函数int age(int n){ if原创 2016-05-02 11:32:36 · 557 阅读 · 0 评论 -
7.1趣味递归之打印杨辉三角
//递归法求杨辉三角int func(int i,int j){ if (j==0||j==i) { return 1; }else { return func(i-1,j)+func(i-1,j-1); }}int main ( int argc, char **argv ){ int n,i,j; scanf("%d",原创 2016-04-27 13:55:07 · 2342 阅读 · 1 评论 -
6.5趣味逻辑之委派任务
1.问题描述 2问题分析 3算法与框架 4完整程序原创 2016-04-06 21:44:44 · 390 阅读 · 0 评论 -
6.4趣味逻辑之谁来自说谎族,诚实族
1.问题描述 2问题分析 3程序框架 4完整程序原创 2016-04-06 21:41:58 · 801 阅读 · 2 评论 -
6.4趣味逻辑之抓小偷
1.问题描述 2问题分析 3算法设计 4程序框架 5完整程序原创 2016-04-06 21:35:41 · 518 阅读 · 0 评论 -
6.2趣味逻辑之情侣结婚
1问题描述分析 2.算法设计 3.程序框架 4.完整程序原创 2016-04-06 17:11:15 · 314 阅读 · 0 评论 -
6.1趣味逻辑之谁在撒谎
1.问题描述分析 2.算法设计 3.框架设计 4.完整程序原创 2016-04-06 17:07:46 · 412 阅读 · 0 评论 -
9.1趣味图形
1>绘制余弦曲线//绘制余弦曲线#include<math.h>int main ( int argc, char **argv ){ double y; int x,m; for (y=1; y>=-1; y-=0.1) { m=acos(y)*10; for (x=1;x<m;x++) printf(" ");原创 2016-05-02 13:04:20 · 346 阅读 · 0 评论 -
10.1趣味数组
1>狼追兔子问题描述 一只兔子躲进了10个环型分布的洞中的一个.这只纯狼在第一个洞中没有找到兔子,就隔了一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞找,以后没多一个洞去找兔子.这样下去,一直找不到兔子,请问兔子可能在那些洞中??//狼追兔子的问题算法:有限的穷举搜索#if 0int main(int argc,char*argv[]){ int a[10]={};原创 2016-05-02 17:28:01 · 515 阅读 · 0 评论 -
流程图符号及流程图的例子
介绍常见的流程图符号及流程图的例子。 本章例1 - 1的算法的流程图如图1 - 2所示。本章例1 - 2的算法的流程图如图1 - 3所示。在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”另外还规定,流程线是从下往上或从右向转载 2017-08-29 15:49:21 · 32497 阅读 · 0 评论 -
递归法求解 汉诺塔问题
问题汉诺(Ham>i)塔源自于古印度,又称为河内塔。汉诺塔是非常著名的智力趣题,在很多算法书籍和智力竞赛中都有涉及。汉诺塔问题的大意如下: 勃拉玛是古印度一个开天辟地的神,其在一个庙宇中留下了 3 根金刚石的棒,第 1 根上面套着64 个大小不一的圆形金片。其中,最大的金片在最底 JZ=L下,其余的依次叠上去,且一个比一个小,勃拉玛要求众原创 2017-11-30 12:32:36 · 949 阅读 · 0 评论 -
五家共井问题
“五家共井”问题和“鸡兔同笼”问题一样,都是一个著名的问题。具体的题目如下:现在有五家共用一口井,甲、乙、丙、丁、戊五家各有一条绳子汲水(下面用文字表示每一家的绳子):甲×2+乙=井深,乙×3+丙=井深,丙×4+丁=井深,丁×5+戌=井深,戌×6+甲=井深,求甲、乙、丙、丁、戊各家绳子的长度和井深。len1X2+len2=len2X3+len3=len3X4+len4=len4X5+len5=原创 2017-11-28 21:37:14 · 1864 阅读 · 0 评论 -
1.1算法入门之百钱白鸡问题
一 . 问题描述一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在百钱买百鸡,请问,公鸡,母鸡,小鸡各多少只?二. 问题分析 三个变量 cock ,hen,chicken1> cock+hen+chicken=100;2> cock*5+hen*3+chicken/3=100;三. 算法设计采用穷举法 cock#include //原创 2016-03-29 16:58:13 · 2011 阅读 · 0 评论 -
1.5算法入门之兔子产仔问题
1问题描述 : 2问题分析 3.算法设计 4完整程序 5流程图原创 2016-03-29 21:10:51 · 2593 阅读 · 0 评论 -
用程序 揭秘 用手机号尾号暴露你年龄的 骗局
前言女神给我微信发我一张这样的图我就给验证了.....但是女神并没有回我,程序原创 2017-11-17 21:51:04 · 7328 阅读 · 3 评论 -
1.4算法入门之车牌号
一 . 问题描述一辆卡车违反交通规则后肇事逃逸,现场有三人目击该事件,但都没有记住车牌号,但是都提供了线索,甲说前两位相同的,乙说后两位相同,但与前两位不同,丙是位数学家,说四位的车号刚好是一个整数的平方,请根据以上线索求出四位车牌号二. 问题分析 四位数a1,a2,a3,a4满足以下条件1> 0=2> a1=a23> a原创 2016-03-29 20:00:56 · 1634 阅读 · 0 评论 -
1.3算法入门之打渔晒网
一 .问题描述中国有句古话叫三天打鱼,两天晒网,默认从1990年1月1日开始"三天打鱼,两天晒网",问这个人在以后的某一天打鱼还是晒网?二.问题分析 1>计算从1990年1月1日开始到指定日期共有多少天 2>由于打鱼晒网周期为5天,故将计算的天数用5整除 3>跟给余数判断为打鱼还是晒网,打鱼的余数为1,2,3三.算法设计采用数值计原创 2016-03-29 19:56:39 · 552 阅读 · 0 评论 -
5.4趣味素数之梅森素数
1.问题描述分析 2.算法框架程序原创 2016-04-06 17:04:15 · 499 阅读 · 0 评论 -
5.3趣味素数之可逆素数
1.问题描述分析 2算法框架程序原创 2016-04-06 17:01:02 · 564 阅读 · 0 评论 -
5.2趣味素数之哥德巴赫猜想
问题描述与分析 算法设计框架程序 //验证歌德巴猜想#include <math.h>int sushu(int num){ int result = 1;//代表素数 if (num==1||num==0) { result=0; } for (int i=2; i<=sqrt(num); i++) { if (num%i原创 2016-04-06 16:57:45 · 603 阅读 · 0 评论 -
2.5趣味数学之猜牌术
1.问题描述 2.问题分析 3.算法分析 4.程序框架 5.完整程序 int main(int argc, const char * argv[]) {int a[14]={};//存放牌int j=1,n;// n代表次数for (int i=1; i<=13; i++) { //方式1// n=1; // do{ /原创 2016-03-31 16:16:06 · 492 阅读 · 0 评论 -
2.4趣味数学之卖金鱼
1.问题描述 2.问题分析 3框架设计 4.完整程序 #int main(int argc, const char * argv[]) {int flag=0;//表示找到了该数int x;//j次卖金鱼前的鱼条数int j;//次数for (int i=23; flag==0; i+=2) {//步长为2 for (j=1,x=i; j<=4&&x>1; j++)原创 2016-03-31 09:55:12 · 677 阅读 · 0 评论 -
2.3趣味数学之分糖果问题
1.问题描述 2.问题分析 3算法设计 4程序框架 5完整程序int judge(int sw[]);//判断每个孩子的手中糖果是否一致 void print(int c[]);//打印每个孩子手里的糖果数 int j=0;//记录分配的次数 int main(int argc, const char * argv[]) {int sweet[10]={10,2原创 2016-03-30 16:13:53 · 913 阅读 · 0 评论 -
2.2趣味数学之存款获利最大化问题
1.问题描述 2.问题分析 3.算法设计 4.完整程序 printf(“存款人最终获得的本例合计为:%0.2f\n”,result); }原创 2016-03-30 14:52:27 · 526 阅读 · 0 评论 -
2.1趣味数学之个人所得税问题
1.问题描述 2.问题分析 3.算法设计 4完整程序 5.以结构体指针的方式重写个人所得税函数原创 2016-03-30 14:34:20 · 635 阅读 · 0 评论 -
1.6算法入门之牛顿迭代式求方程根
1.问题描述 2.问题分析 3.算法设计 4程序框架 5完整程序原创 2016-03-30 09:08:00 · 919 阅读 · 0 评论 -
1.9算法入门之进制转换
1.问题描述 2.问题分析 3.算法设计 4.程序框架 5.字符数字转换 6其他数制转换成十进制 7十进制转换成其他数制 8.完整程序 9运行结果 10问题拓展原创 2016-03-30 09:45:29 · 575 阅读 · 0 评论 -
1.8算法入门之折半查找
1.问题描述 2问题分析 3算法设计 4.程序框架 5.完整程序 6问题拓展原创 2016-03-30 09:33:00 · 293 阅读 · 0 评论 -
3.1趣味整数之亲密数
1.问题描述 如果整数A的全部因子(包括1不包括本身)之和等于B;且整数B的全部因子(包括1,不包括其本身)之和等于A,那么整数A和整数B成为亲密数,求3000以内的亲密数 2问题分析原创 2016-03-31 19:52:14 · 873 阅读 · 0 评论 -
3.2趣味整数之自守数
1.问题描述 2.问题分析 3.算法设计 4.请给定数的长度 int numberOfDigit(long num){int count=0;while (num!=0) { num/=10; count++;}return count;}5.分离一个定数最后的几位 //分离一个定数 的最后k位 int lastNumber(long objectNum原创 2016-04-01 09:30:43 · 865 阅读 · 0 评论 -
3.3趣味整数之高次方数的尾数
1.问题描述 2.问题分析 3.算法设计 4程序框架 5完整程序(通用) 6针对本题目原创 2016-04-01 09:50:37 · 522 阅读 · 0 评论 -
5.1趣味素数之素数
1.问题描述 2.算法设计 3.程序框架 4.完整程序 //素数#if 0#include <math.h>int sushu(int num){ int result = 1;//代表素数 if (num==1) { result=0; } for (int i=2; i<=sqrt(num); i++) {原创 2016-04-06 16:44:03 · 427 阅读 · 0 评论 -
4.5趣味分数之求真分数的接近值
问题描述原创 2016-04-06 07:58:08 · 451 阅读 · 0 评论 -
4.4趣味分数之真分数比较&&真分数序列
1.问题描述 2问题分析 3.真分数序列 //真分数序列 int GCD(int n,int m) { if(m<=n) if(n%m==0) return(m); else return GCD(m,n%m); else return GCD(原创 2016-04-06 07:53:44 · 400 阅读 · 0 评论 -
4.3趣味分数之多项式求和
1.问题描述 2.完整程序 3.递归解决法 //多项式求和 //s =1+1/1x2+1/1X2X3+1/1X2X3X4double func(double n){ if (n==1) { return 1; }else { return 1/n*func(n-1); } }int main(int argc,cha原创 2016-04-06 07:49:03 · 466 阅读 · 0 评论 -
4.2趣味分数之真分数分解为埃及分数
1问题描述 2.问题分析 3算法设计 4.完整程序 //真分数分解为埃及分数 8/11=1/2+1/5+1/55+1/110 int main(int argc,char*argv[]) { long a,b,c;printf("输入两个数分子分母:\n");scanf("%ld%ld",&a,&b);if (a>b) { printf("真原创 2016-04-06 07:45:55 · 621 阅读 · 0 评论 -
4.1趣味分数之,最大公约数最大公倍数
//穷举法 //两个最大公约数if 0int main(int argc,char* argv[]){ int m,n; printf(“输入两个数:\n”); scanf(“%d%d”,&m,&n); //交换两个数,m存大值,n存小值 if (n>m) { int tmp=m; m=n; n原创 2016-04-05 14:27:04 · 439 阅读 · 0 评论 -
3.5趣味整数之勾股数
1.问题描述 2.问题分析 3算法设计 4.完整程序 5运行结果 6问题拓展原创 2016-04-01 14:31:05 · 760 阅读 · 0 评论