一、指路指路
03【C语言&趣味算法】(值得品味的一道题)打鱼还是晒网?结构体的简单应用。函数的应用。判断闰年的应用。求指定日期距1990年1月1日的天数。
02【C语言&趣味算法】借书方案问题:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借1本,则可以有多少种不同的借法?
01【C语言&趣味算法】百钱百鸡问题(问题简单,非初学者请忽略叭)。请注意算法的设计(程序的框架),程序流程图的绘制,算法的优化。
二、Problem:抓交通肇事犯
这是很有意思的一道"数学题”。有趣的地方,在于后面对于Algorithm的优化与改进。
2.1问题描述
2.2 problem分析
要注意“取值范围”。
2.3算法设计
2.4确定程序框架:程序流程图的绘制
2.5判断车牌k是否为某个数的平方
2.6完整code及输出
// 趣味04:抓交通肇事犯 问题 #include<stdio.h> int main() { int i,j,k,temp; /*i代表前两位车牌号数字,j代表后两位车牌号的数字,k代表车牌号*/ for(i=0;i<=9;i++) for(j=0;j<=9;j++) /*穷举前两位和后两位车牌数字*/ { /*判断前两位数字和后两位数字是否不同*/ if(i!=j) { /*组成4位车牌号k*/ k=1000*i+100*i+10*j+j; /*判断k是否是某个数的平方,若是则输出k*/ for(temp=31;temp<=99;temp++) if(temp*temp==k) printf("车牌号为%d",k); } } }
输出如下:
2.7优化,改进Algorithm