c/c++快乐算法第一天
c/c++感受算法乐趣(1)
开始时间2023-04-14 18:31:47
结束时间2023-04-14 22:06:02
前言:经过两天的学习,是不是发现编程也挺简单的。其实不然,学好算法同时也是练习编程的关键一环。接下来每周末我将会带领你感受算法的乐趣。目前题目摘自c语言趣味编程100例清华大学出版社,我会根据编程四部曲给出每题题解,话不多说让我们一起来看看吧!
第一章 趣味算法入门

第一题 百钱白鸡问题
一.问题描述

二.设计思路
本题无输入,百钱最多买公鸡20只,母鸡33只,小鸡很多只,很明显可以用三个嵌套循环模拟,达成条件为公鸡加母鸡加小鸡为100只而且用百钱;
三.流程图

四.源代码
#include<stdio.h>
int main()
{
int gongji,muji,xiaoji;
for(gongji=0;gongji<20;gongji++)
{
for(muji=0;muji<33;muji++)
{
for(xiaoji=0;xiaoji<=100;xiaoji++)
{
if((gongji*5+muji*3+xiaoji/3.0)==100&&(gongji+muji+xiaoji)==100)
{
printf("公鸡=%d只\t母鸡=%d只\t小鸡=%d只\n",gongji,muji,xiaoji);
}
}
}
}
return 0;
}
五.运行结果

第二题 借书方案知多少
一.问题描述

二.设计思路
无输入,很明显的枚举模拟,a可以选五次,同理bc也一样,但要满足abc三位小朋友借到的不是一本书即if(a!=b,b!=c,c!=a)
三.流程图

四.源代码
#include<stdio.h>
int main()
{
int a,b,c,i=0;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
if(a!=b&&b!=c&&c!=a)
{
printf("a分到第%d本书 b分到第%d本书 c分到第%d本书",a,b,c);
i++;
if(i%3==0)printf("\n");
}
}
}
}printf("共有%d种分法",i);
return 0; }
五.运行结果

第三题 打鱼还是晒网
一.问题描述

二.设计思路
本题有输入(输入为某一天的年月日信息),我们可以先求出这一天距离1990.1.1的天数,然后以五为周期求余数,余数为123则打鱼,余数为40则为晒网;
三.流程图

四.源代码
#include<stdio.h>
int main()
{
printf("请以年月日的格式输入指定日期");
int year,month,day;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&year,&month,&day);
int sum=0;
int i=1990;
for(i=1990;i<year;i++)
{
sum+=365;
if((i%4==0&&i%100!=0)||(i%400==0))
{
sum++;
}
}
for(i=0;i<month-1;i++)
{
if(month==1)break;
sum+=a[i];
}
if(month>2){
if((year%4==0&&year%100!=0)||(year%400==0))
{
sum++;
}
}
sum+=day-1;
int yush=sum%5;
if(yush%5==1||yush%5==2||yush%5==3)
{
printf("打鱼");
}
else
{
printf("晒网");
}
return 0;
}
五.运行结果

每日一mo:过度的清醒,会让人觉得薄凉冷漠;过度的沉醉,又会让人感到浮浅迷离。所以,完美的人生,当是留一半清醒,留一半醉意。
c/c++快乐算法第一天的更多相关文章
- PageRank算法第一篇
摘要by crazyhacking: 一 搜索引擎的核心问题就是3个:1.建立资料库,通过爬虫系统实现:2.建立一种数据结构,可以根据关键词找到含有这个词的页面.通过索引系统(倒排索引)实现.3排序系 ...
- EM算法--第一篇
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariable).最大期望 ...
- 【免费讲座IX算法第一阶段】转专业找CS工作“打狗棒法”
个人经验CS不相干,如何收拾简历?如何获取知识,在最短的时间内找到一份工作需要?如何避免盲目刷称号,迅速制定学习计划?如何准备面试? 星期五.九算法黄蓉老师受邀嘉宾 [在线共享] 她成功转专业的六个月 ...
- 编程算法 - 第一个仅仅出现一次的字符 代码(C)
第一个仅仅出现一次的字符 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 在字符串中找出第一个仅仅出现一次的字符. 字符是char类型, 所以匹 ...
- Apriori算法第一篇
摘要: Apriori算法是产生k项高频项目组的一般手段.算法概要:首先产生k项高频项目集合Lk,自身链接形成k+1项的项目结合C(k+1),然后剪枝(去掉以前去掉的不满足支持度的高频),生成K=1项 ...
- 【学习总结】java数据结构和算法-第一章-内容介绍和授课方式
总目录链接 [学习总结]尚硅谷2019java数据结构和算法 github:javaDSA 目录 几个经典算法面试题 算法和数据结构的重要性 几个经典算法面试题 字符串匹配 暴力法:慢 kmp算法:更 ...
- poj3461 字符串匹配 熟悉kmp算法第一题
题意: 计算一个字符串在另一个字符串中出现的次数. #include<cstdio> #include<cstring> #include<algorithm> ...
- AI算法第一天【概述与数学初步】
1. 机器学习的定义: 机器从数据中学习出规律和模式,以应用在新数据上作出预测的任务 2.学习现象: (1)语言文字的认知识别 (2)图像,场景,物体的认知和识别 (3)规则:下雨天要带雨伞 (4)复 ...
- 实现 RSA 算法之基础公式证明(第一章)(老物)
写这篇日志是拖了很久的事情,以前说要写些算法相关的文章给想学信息安全学(简称信安),密码学的同学提供些入门资料,毕竟这种知识教师上课也不会细讲太多(纯理论偏重),更不用说理解和应用了,说到RSA公钥( ...
- Python之路【第二十四篇】Python算法排序一
什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. ...
随机推荐
- 2020.3.9 ~ 2020.3.15 ACM训练周总结
一.本周ACM学习相关内容 学习了dfs和bfs -- 4小时 课上系统的学习了vector等stl函数的使用即注意事项-3小时 二.题数与耗时 师哥安排了12道题,做了五道(不包含比赛题):大概4个 ...
- String的Equals()和==比较
String的Equals()和==比较 常量池(Constant Pool):指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.JVM虚拟机为每个被装载的类型维护一个常量池.常量 ...
- VSCode 快捷键,简化操作
一. 区域代码快捷键 1. 折叠所有 折叠所有区域代码的快捷: ctrl + k ctrl + 0 ; 展开所有折叠区域代码的快捷:ctrl +k ctrl + J ; 2. 按层 ...
- Ipmitool命令之ipmitool user(用户管理)
常见的用户配置命令: (1)查看用户清单 root@master:~# ipmitool user list 1 ID Name Callin Link Auth IPMI Msg Channel P ...
- LoadRunner——创建场景及运行场景(三)
1. 创建场景 场景:用户并发访问的策略,包含用户数.加载用户的时间等 启动第二个组件 : 控制台 (controller) 方式1: 开始->所有程序->HPLoadRunner-> ...
- Python自动化环境搭建轻轻松松---selenium
其实安装selenium实现自动化搭建环境也不拿 一共四步 1.Python开发环境 2.安装selenium包 3.安装浏览器 4.安装你安装的浏览器驱动 一: 想要实现Python环境不可能缺席: ...
- ElasticSearch可视化工具ElasticHD安装
ElasticHD两种安装方式 1.ElasticHD介绍 ElasticHD 支持 ES监控.实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to ...
- 深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析
深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析 在本篇文章当中主要给大家深入介绍一下在 cpython 当中字典的实现原理,在本篇文章当中主要介绍在早期 python3 当中的版 ...
- Hadoop 安装及目录结构
一.准备工作 [1]创建用户:useradd 用户名[2]配置创建的用户具有 root权限,修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:(注意:需要先给sud ...
- 借AI之势,打破创意与想象的边界
不要做这个时代的最后一只恐龙. IMMENSE.36氪|作者 1811年11月,英国,诺丁汉市西北一处小镇里,一群愤怒的纺织工人挥舞着锤头与斧子,一窝蜂地冲进车间里,将几台机器砸得粉碎. 后来,这场运 ...