用循环解决爱因斯坦阶梯数学题问题。

「已注销」
博客专家认证
2013-04-23 12:38:11
一次,爱因斯坦给他的朋友出了这样一道数学题:一条长长的阶梯,如果每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶.只有每步跨7阶时,才正好到头,一阶也不剩.请问,阶梯到底有多少阶?
我是这样写代码的:
# include <stdio.h>
int main ()
{
int number;
for (number = 14; number <= 65535; number++)
if ((number-1)%2==0&&(number-2)%3==0&&(number-4)%5==0&&(number-5)%6==0&&number%7==0)
{
printf ("%d\n", number);
break;
}


}
用穷举法思想,一个数一个数的试,结果是119.我知道这是最小的解,然后我想把多组解算出来。就把break去掉了,结果,运行的结果好像很乱。
...全文
1917 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
大极张三疯 2013-04-23
  • 打赏
  • 举报
回复
number肯定是7的倍数,number+=7快点
大极张三疯 2013-04-23
  • 打赏
  • 举报
回复
每个数都比上面的数大210,为什么119没有出现,真是不解
Carl_CCC 2013-04-23
  • 打赏
  • 举报
回复
好像没看明白问什么。
「已注销」 2013-04-23
  • 打赏
  • 举报
回复
小于3000的答案怎么不出来啊。
「已注销」 2013-04-23
  • 打赏
  • 举报
回复
3059 3269 3479 3689 3899 4109 4319 4529 4739 4949 5159 5369 5579 5789 5999 6209 6419 6629 6839 7049 7259 7469 7679 7889 8099 8309 8519 8729 8939 9149 9359 9569 9779 9989 10199 10409 10619 10829 11039 11249 11459 11669 11879 12089 12299 12509 12719 12929 13139 13349 13559 13769 13979 14189 14399 14609 14819 15029 15239 15449 15659 15869 16079 16289 16499 16709 16919 17129 17339 17549 17759 17969 18179 18389 18599 18809 19019 19229 19439 19649 19859 20069 20279 20489 20699 20909 21119 21329 21539 21749 21959 22169 22379 22589 22799 23009 23219 23429 23639 23849 24059 24269 24479 24689 24899 25109 25319 25529 25739 25949 26159 26369 26579 26789 26999 27209 27419 27629 27839 28049 28259 28469 28679 28889 29099 29309 29519 29729 29939 30149 30359 30569 30779 30989 31199 31409 31619 31829 32039 32249 32459 32669 32879 33089 33299 33509 33719 33929 34139 34349 34559 34769 34979 35189 35399 35609 35819 36029 36239 36449 36659 36869 37079 37289 37499 37709 37919 38129 38339 38549 38759 38969 39179 39389 39599 39809 40019 40229 40439 40649 40859 41069 41279 41489 41699 41909 42119 42329 42539 42749 42959 43169 43379 43589 43799 44009 44219 44429 44639 44849 45059 45269 45479 45689 45899 46109 46319 46529 46739 46949 47159 47369 47579 47789 47999 48209 48419 48629 48839 49049 49259 49469 49679 49889 50099 50309 50519 50729 50939 51149 51359 51569 51779 51989 52199 52409 52619 52829 53039 53249 53459 53669 53879 54089 54299 54509 54719 54929 55139 55349 55559 55769 55979 56189 56399 56609 56819 57029 57239 57449 57659 57869 58079 58289 58499 58709 58919 59129 59339 59549 59759 59969 60179 60389 60599 60809 61019 61229 61439 61649 61859 62069 62279 62489 62699 62909 63119 63329 63539 63749 63959 64169 64379 64589 64799 65009 65219 65429 Press any key to continue 运行结果是这样的。
大极张三疯 2013-04-23
  • 打赏
  • 举报
回复
# include <stdio.h>
int main (void)
{
   int number;
   FILE*fp;
   fp=fopen("count.dat","w");
   for (number = 14; number <= 65325; number+=7)
      if ((number-1)%2==0&&(number-2)%3==0&&(number-4)%5==0&&(number-5)%6==0&&number%7==0)
   {
   printf ("%d\n", number);
   fprintf(fp,"%d \n",number);
   }
    fclose(fp);
    return 0;
}
用9楼的方法试了下,写入文件确实是全的,显示问题
大极张三疯 2013-04-23
  • 打赏
  • 举报
回复
应该是显示的问题,我用cmd进去运行,显示的行数不超过300行,前面的行就被省去看不见了
金刚葫芦娃 2013-04-23
  • 打赏
  • 举报
回复
引用 2 楼 zhang5476499 的回复:
小于3000的答案怎么不出来啊。
你的显示问题,,把结果输入到1.txt试试.
金刚葫芦娃 2013-04-23
  • 打赏
  • 举报
回复
我在unix下测试为: 119 329 539 749 959 1169 1379 1589 1799 2009 2219 2429 2639 2849 3059 3269 3479 3689 3899 4109 4319 4529 4739 4949 5159 5369 5579 5789 5999 6209 6419 6629 6839 7049 7259 7469 7679 7889 8099 8309 8519 8729 8939 9149 9359 9569 9779 9989 10199 10409 10619 10829 11039 11249 11459 11669 11879 12089 12299 12509 12719 12929 13139 13349 13559 13769 13979 14189 14399 14609 14819 15029 15239 15449 15659 15869 16079 16289 16499 16709 16919 17129 17339 17549 17759 17969 18179 18389 18599 18809 19019 19229 19439 19649 19859 20069 20279 20489 20699 20909 21119 21329 21539 21749 21959 22169 22379 22589 22799 23009 23219 23429 23639 23849 24059 24269 24479 24689 24899 25109 25319 25529 25739 25949 26159 26369 26579 26789 26999 27209 27419 27629 27839 28049 28259 28469 28679 28889 29099 29309 29519 29729 29939 30149 30359 30569 30779 30989 31199 31409 31619 31829 32039 32249 32459 32669 32879 33089 33299 33509 33719 33929 34139 34349 34559 34769 34979 35189 35399 35609 35819 36029 36239 36449 36659 36869 37079 37289 37499 37709 37919 38129 38339 38549 38759 38969 39179 39389 39599 39809 40019 40229 40439 40649 40859 41069 41279 41489 41699 41909 42119 42329 42539 42749 42959 43169 43379 43589 43799 44009 44219 44429 44639 44849 45059 45269 45479 45689 45899 46109 46319 46529 46739 46949 47159 47369 47579 47789 47999 48209 48419 48629 48839 49049 49259 49469 49679 49889 50099 50309 50519 50729 50939 51149 51359 51569 51779 51989 52199 52409 52619 52829 53039 53249 53459 53669 53879 54089 54299 54509 54719 54929 55139 55349 55559 55769 55979 56189 56399 56609 56819 57029 57239 57449 57659 57869 58079 58289 58499 58709 58919 59129 59339 59549 59759 59969 60179 60389 60599 60809 61019 61229 61439 61649 61859 62069 62279 62489 62699 62909 63119 63329 63539 63749 63959 64169 64379 64589 64799 65009 65219 65429
大极张三疯 2013-04-23
  • 打赏
  • 举报
回复
把数字65535改小点,改成6553就能显出3000以下的了,不解为什么
《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考资料,同时也为那些准备参加与算法和数据结构相关的面试的读者提供一些有益的帮助。最大的特色在于实例丰富,材新颖有趣,实用性强,理论寓于实践之中。理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试等。可以使读者开阔眼界,提高编程的兴趣,提高读者的编程能力和应试能力。 目录: 第1部分 基础篇 第1章 数据结构基础 1.1 什么是数据结构 1.2 顺序表 1.2.1 顺序表的定义 1.2.2 向顺序表中插入元素 1.2.3 从顺序表中删除元素 1.2.4 实例与分析 1.3 链表 1.3.1 创建一个链表 1.3.2 向链表中插入结点 1.3.3 从链表中删除结点 1.3.4 销毁一个链表 1.3.5 实例与分析 1.4 栈 1.4.1 栈的定义 1.4.2 创建一个栈 1.4.3 入栈操作 1.4.4 出栈操作 1.4.5 栈的其他操作 1.4.实例与分析 1.5 队列 1.5.1 队列的定义 1.5.2 创建一个队列 1.5.3 入队列操作 1.5.4 出队列操作 1.5.5 销毁一个队列 1.5.6 循环队列的概念 1.5.7 循环队列的实现 1.5.8 实例与分析 1.6 树结构 1.6.1 树的概念 1.6.2 树结构的计算机存储形式 1.6.3 二叉树的定义 1.6.4.二叉树的遍历 1.6.5 创建二叉树 1.6.6 实例与分析 1.7 图结构 1.7.1 图的概念 1.7.2 图的存储形式 1.7.3 邻接表的定义 1.7.4.图的创建 1.7.5 图的遍历(1)——深度优先搜索 1.7.6 图的遍历(2)——广度优先搜索 1.7.7 实例与分析 第2章 常用的查找与排序方法 2.1 顺序查找 2.2 折半查找 2.3 排序的概述 2.4 直接插入排序 2.5 选择排序 2.6 冒泡排序 2.7 希尔排序 2.8 快速排序 第3章 常用的算法思想 3.1 什么是算法 3.2 算法的分类表示及测评 3.2.1 算法的分类 3.2.2 算法的表示 3.2.3 算法性能的测评 3.3 穷举法思想 3.3.1 基本概念 3.3.2 寻找给定区间的素数 3.3.3 TOM的借书方案 3.4 递归与分治思想 3.4..1 基本概念 3.4.2 计算整数的划分数 3.4.3 递归的折半查找算法 3.5 贪心算法思想 3.5.1 基本概念 3.5.2 最优装船 3.6 回溯法 3.6.1 基本概念 3.6.2 四皇后求解 3.7 数值概率算法 3.7.1 基本概念 3.7.2 计算定积分 第2部分 编程实例解析 第4章 编程基本功 4.1 字符类型统计器 4.2 计算字符的ASCII码 4.3 嵌套if.else语句的妙用 4.4 基于switch语句的译码器 4.5 判断闰年 4.6 指针变量作参数 4.7 矩阵的转置运算 4.8 矩阵的乘法运算 4.9 巧用位运算 4.10 文件的读写 4.11 计算文件的大小 4.12 记录程序的运行时间 4.13 十进制/二进制转化器 4.14 打印特殊图案 4.15 打印杨辉三角 4.16 复杂级数的前n项和 4.17 寻找矩阵中的“鞍点” 4.18 n阶勒让德多项式求解 4.19 递归反向输出字符串 4.20 一年中的第几天 第5章 数学(一) 5.1 舍罕王的失算 5.2 求两个数的最大公约数和最小公倍数 5.3 歌德巴赫猜想的近似证明 5.4 三色球 5.5 百钱买百鸡 5.6 判断回文数字 5.7 填数字游戏求解 5.8 新郎和新娘 5.9 爱因斯坦阶梯 5.10 寻找水仙花数 5.11 猴子吃桃 5.12 兔子产仔 5.13 分解质因数 5.14 常胜将军 5.15 求兀的近似值 5.16 魔幻方阵 5.17 移数字游戏 5.18 数字的全排列 5.19 完全数 5.20 亲密数 5.21 数字翻译器 5.22 递归实现数制转换 5.23 谁在说谎 第6章 数学(二) 6.1 连续整数固定和 6.2 表示成两个数的平方和 6.3 具有特殊性质的数 6.4 验证角谷猜想 6.5 验证四方定理 6.6 递归法寻找最小值 6.7 寻找同构数 6.8 验证尼科彻斯定理 6.9 三重回文数字 6.10 马克思手稿中的数学 6.11 渔夫捕鱼 6.12 寻

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧