//题目46:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只
//猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
//一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,
//问海滩上原来最少有多少个桃子?

#include<stdio.h>
#include<stdlib.h>//分析:最少有多少个桃子,说明是满足条件的最小数;假设有X个桃子,第一个猴子的桃子数量是(X-1)/5,
//第二只猴子的数量是(第一个猴子的桃子数量的4倍-1)/5   即(4*f(1)-1)/5=f(2)====> f(1)=(5*f(2)+1)/4
//f(n)=(5*f(n+1)+1)/4int i = 0;
int t = 0;int Peach(int n){if (n == 5){i++;return i;}else{t = 5 * Peach(n + 1) + 1;do{t = 5 * Peach(n + 1) + 1;} while (t % 4 != 0);//如果不是4的倍数 那么第n个猴子有的桃子数量不是整数,return t / 4;}
}void main(){printf("海滩上原来最少有%d个桃子\n", 5*Peach(1)+1);system("pause");
}

//题目47:尼科彻斯定理证明
//任何一个整数的立方都可以写成一串连续奇数的和//思路:一串连续奇数,可以从1+3+...,当和>整数的立方的时候,可以减去第一个奇数1,继续判断和是否>整数的立方
//如果仍然大于整数的立方,再减去第二个奇数,一直继续直到和小于整数的立方时,末尾再加上 最后的奇数+2
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<assert.h>void main(){int tnum = 0;int num = 0;int tsun = 0;int index = 0;int k = 1;int i = 1;printf("请输入一个整数\n");scanf("%d", &tnum);//断言assert(tnum != 0);num = tnum*tnum*tnum;while (1){tsun += i;i += 2;if (i>num){break;}//当和大于整数的立方时,进行减少奇数操作if (tsun>num){index = tsun;k = 1;//从1开始,不断减去前面的奇数while (index > num){index -= k;k = k + 2;}//如果结果不等于num,说明不是连续的奇数,需要在后面继续追加一个奇数if (index != num){continue;}else{//打印结果for (int m = k; m+2 <=i; m=m+2){if (m+2>=i){printf("%d", m);}else{printf("%d+", m);}}break;}}//当和等于整数的立方时else if (tsun==num){//打印结果for (int m = 1; m+2 <=i; m = m + 2){if (m + 2 >= i){printf("%d", m);}else{printf("%d+", m);}}break;}}printf("=%d\n",num);system("pause");
}

//题目48:父亲拿出2520个苹果,按照写在纸上的数量分给6个兄弟,每个人分到的苹果数量都不相同
//他说:老大,把你分到的苹果的1/8给老二,老二拿到后,连同原来的苹果分1/7给老三,老三拿到后,
//连同原来的苹果分1/6给老四,以此类推,最后老六拿到后,连同原来的苹果分1/7给老大,
//这样你们每个人分到的苹果数量就一样多了。求出原来各兄弟分得多少个苹果。
#include<stdio.h>
#include<stdlib.h>//思路:从老二开始分析:老二没分苹果时苹果的数量  =  老大原有的苹果数量*(1/8) +  老二原有的苹果数量
//就老二比较特殊,后面的就比较规律
//老三没分苹果时苹果的数量  =  老二没分苹果时苹果的数量*(1/7) +  老三原有的苹果数量
//按照此规律,最后6个人苹果的数量相等  都是420个
//那么   老二没分苹果时苹果的数量*(6/7) = 420,由此可以求出  老二到老六没分苹果时苹果的数量
//老大的最终苹果数量420  =  老六没分苹果时苹果的数量*(1/3) +  老大原有的苹果数量*(7/8)
//由此可以求出老大原有的苹果数量,进而可以求出老二原有的苹果数量void main(){//x[6]表示原来的苹果,y[6]表示拿到苹果不分给其他人的苹果数量int x[6] = { 0 }, y[6] = {0};//根据分析  老二拿到的苹果(不分给老三)=老大以前的苹果*(1/8)+老二原来的苹果//即;老二原来的苹果=老二拿到的苹果(不分给老三)-老大以前的苹果*(1/8)for (int i = 1; i < 6; i++){y[i] = 420 * (8 - i) / (7 - i);}//获取老大原来的苹果数//420=老六苹果数(不分给别人)*1/3+老大原来苹果数(7/8)//老大原来苹果数=(420-老六苹果数(不分给别人)*1/3)*8/7//y[0]=x[0]的解释   老大拿到苹果不分给其他人的苹果数量  就是老大原来的苹果数量y[0]=x[0] = (420 - y[5] * 1 / 3) * 8 / 7;for (int i = 1; i < 6; i++){//y[i - 1] / (9-i)  把老二没分苹果的数量*(1/7)+老三原有的数量 ==老三现在没分苹果的数量//老三原有的数量==老三现在没分苹果的数量  -  老二没分苹果的数量*(1/7) x[i] = y[i] - y[i - 1] / (9-i);}int sun = 0;for (int i = 0; i < 6; i++){sun += x[i];printf("第%d个兄弟的原来的苹果数量%d\n",i+1,x[i]);}printf("总数量是%d\n",sun);system("pause");
}

C语言 百炼成钢16相关推荐

  1. c语言ffffff错误,C语言打印16进制出现0xffffff现象的问题剖析!

    C语言打印16进制出现0xffffff现象的问题剖析! 其实类似的问题不是只在网络程序中才会出现的,看示例代码: 复制代码 1 #include 2 int main() 3 { 4     char ...

  2. 16 16点阵c语言程序,用C语言编程16点阵字库

    用C语言编程16点阵字库 2007-07-31 12:28 #include #include #include #include #include #include #include #define ...

  3. c语言产生1-6,C语言 1-6小结.ppt

    C语言 1-6小结 第1-6章小结 ◆由函数组成,函数分为 主函数main.标准库函数.自定义函数 ◆主函数main 程序总是从main函数开始执行,并在main函数中结束 ◆标准库函数 标准库函数并 ...

  4. C语言:16进制字符串转int

    文章目录 前言 代码 前言 今天在C语言中 用到16进制字符串转int整型场景,顺便网上搜了一下 发现有网友用了非常复杂的方法,还去判断字母啥的 用到什么累加的,笔者一想 16进制字符串转int类型 ...

  5. java语言采用16位颜色标准_华为Java笔试题一

    华为Java笔试题一 D.Servlet 2.下列说法正确的有( ) A. 环境变量可在编译source code时指定 B. 在编译程序时,所能指定的环境变量不包括class path C. jav ...

  6. 67在C51语言表示16进制数,计算机真题

    计算机真题 更新时间:2017/2/6 11:50:00  浏览量:1036  手机版 1)根据汉字国标GB2312-80的规定,二级次常用汉字个数是 A) 3000个 B)7445个 C)3008个 ...

  7. c语言以16进制输出大写字母,【C语言】十六进制形式输出应用程序

    1.前言 最近在看到同事写了一款封印病毒的程序,非常有意思!原理大致是将PE文件中的ASCII转换成HEX输出到文本中.这样做的目的是为了保存病毒样本的时候不会被杀毒软件查杀!然而却是delphi写的 ...

  8. 华师c语言作业,16秋华师《c语言程序设计a》在线作业

    16秋华师<c语言程序设计a>在线作业 奥鹏 17 春 16 秋华师<C 语言程序设计 A>在线作业 一.单选题(共 20 道试题,共 40 分. ) 1. 已知 x=43,c ...

  9. c语言输出16进制数转字符,(转)C语言16进制输出字符型变量问题

    最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: char  ...

最新文章

  1. mysql update 行迁移_Oracle行迁移和行链接详解
  2. 很火的WiFi6,了解一下
  3. 笨办法学linux dhcp,了解网关、DNS、子网掩码、MAC地址、DHCP
  4. MFC之CString与const char* string 转换
  5. 微信群怎么设置验证加入_怎么让微信群裂变拉人/拉人进群奖励方案/微信裂变营销方案策划...
  6. python 模块,模块名和包 最最简单的使用 入门级 不够详细 不建议参考- - 扫一眼就好
  7. Cannot read property 'scrollWidth' of null
  8. hash冲突(碰撞)及解决方法
  9. RK G68三模说明书
  10. 小学计算机应用能力培训的计划,小学老师信息技术应用能力提升培训个人计划...
  11. Quasi-Monte Carlo Image Synthesis in a Nutshell——低差异序列
  12. 【Unity后期渲染】Post Processing 后处理插件最全使用说明
  13. android 全键盘手机排行榜,小巧又精悍 3大系统直板全键盘手机搜罗
  14. 图像增强及直方图均衡化在图像去雾上的应用(附matlab代码)
  15. Docker详细文档
  16. 人工智能基础之数学符号篇
  17. Vue 计算属性缓存和方法的区别:从另一段代码来看【vue3学习笔记】
  18. Simulink中传递函数transfer fcn中迟滞参数如何设置
  19. 医疗供应链-药品SPD管理
  20. 小i机器人发布新一代智能Bot开放平台:让AI唾手可得

热门文章

  1. 网络安全模型_工业互联网态势感知,看得见的网络安全
  2. SQL注入 mysql4.0版本_SQL注入(上)
  3. 批处理 如果提示错误暂停_dos批处理脚本代码,一键删除目录文件夹例子,dos命令bat教程...
  4. Javascript ES6 Promise同步读取文件(使用async、await)
  5. Android Studio的TableLayout的使用(自定义列拉伸,收缩,隐藏,横跨列)
  6. 透明背景html,HTML透明背景
  7. 嵌入式linux appace,嵌入式Linux攻略 ACE程序移植过程详细解析 — IT技术
  8. matlabapp窗口图像_如何在一个matlab窗口上合并两个图像?
  9. ubuntu18 mysql5.6源码_Ubuntu 18.04 使用Systemd管理MySQL 5.6
  10. 圆变成长方形什么变了_什么是透视,透视到底有多重要?