吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7354|回复: 4
收起左侧

[其他转载] C语言实例 爱因斯坦的数学题

 关闭 [复制链接]
明次 发表于 2010-6-11 14:35
爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯共有多少阶?
  *问题分析与算法设计
  根据题意,阶梯数满足下面一组同余式:
  x≡1 (mod2)
  x≡2 (mod3)
  x≡4 (mod5)
  x≡5 (mod6)
  x≡0 (mod7)
  *程序说明与注释
  #include<stdio.h>
  int main()
  {
  int i=1; /*i为所设的阶梯数*/
  while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))
  ++i; /*满足一组同余式的判别*/
  printf("Staris_number=%d\n",i);
  }
  *运行结果
  Staris_number=119

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

vienna 发表于 2010-6-11 15:57
#include <stdio.h>

int main() {
        int i = 7;
        int count = 7;
        int result = 0;

        for (;;) {
                if ((result%3 == 2) && (result%5 == 4) && (result%6 == 5)) {
                        printf("result = %d \r\n",result);
                        break;
                } else {
                        count += 2;
                        result = i * count;
                }
        }

        return 0;
}

只循环7的倍数,7的双数倍数如 7*2 、 7*4 、 7*6······都不用
那只需循环7的单数倍数,然后题上7*3,7*5都不行,,
循环由7*7开始

楼下继续
头像被屏蔽
lizuolong 发表于 2010-6-11 23:01
头像被屏蔽
lizuolong 发表于 2010-6-11 23:03
orange86630 发表于 2010-6-12 19:27
本帖最后由 orange86630 于 2010-6-12 19:42 编辑

3楼说的对,算出来的都是最小的满足条件的值,我修改了一下。

捕获.JPG


QQ截图未命名.jpg
用E语言写的代码:
.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 a, 整数型
.局部变量 b, 整数型

编辑框2.内容 = “”
.判断循环首 (b < 到数值 (编辑框1.内容))
    b = a × 10 + 9
    a = a + 1
    .如果真 (b % 3 = 2 且 b % 7 = 0 且 b % 6 = 5)
        编辑框2.加入文本 (到文本 (b) + #换行符)
    .如果真结束

.判断循环尾 ()
.如果 (编辑框2.内容 = “”)
    编辑框2.内容 = “该数值范围内没有满足条件的值”
.否则

.如果结束



源代码:
计算.rar (1.24 KB, 下载次数: 0)

主要原理:根据 “除5余4,除2余1”可推出个位数字一定是九,所以只运算个位是9的数字。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 06:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表