C语言----阶梯问题

阶梯问题

实例说明:

        在你面前有一条长长的阶梯:如果每步跨2阶,那么最后剩1阶;如果每步跨3阶,那么最后剩2阶;如果每步跨5阶,那么最后剩4阶;如果每步跨6阶,那么最后剩5阶;只有当每步跨7阶时,最后才正好走完,一阶也不剩。请问这条阶梯至少有多少阶?(求所有三位阶梯数)

实现过程:

        1. 在VC++6.0中创建一个C文件

        2. 引用头文件,代码如下:

#include <stdio.h>

        3. 程序主要代码如下:

// 阶梯问题
#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a = 100;				/*定义基本整型变量a*/ 
    //可以使用while循环完成本实例
    while (a <= 999)
    {
    	/*根据题意写出对应的条件*/
        if (a % 2 == 1 && a % 3 == 2 && a % 5 == 4 && a % 6 == 5 && a % 7 == 0)
        {
        	/*输出阶梯数*/
            printf("阶梯数为:%d\n", a);
        }
        a++;
    }
    putchar('\n');/*与本实例无关,只是为了分隔开for和while循环*/
    putchar('\n');/*与本实例无关,只是为了分隔开for和while循环*/
    putchar('\n');/*与本实例无关,只是为了分隔开for和while循环*/
    
    //也可以使用for循环完成本实例
    
    int i; /*定义基本整型变量a*/ 
    for (i = 100; i < 1000; i++)		/*for循环求 100~1000内的所有三位数*/
    {
    	/*根据题意写出对应的条件*/
        if (i % 2 == 1 && i % 3 == 2 && i % 5 == 4 && i % 6 == 5 && i % 7 == 0)
        {
        	/*输出阶梯数*/
            printf("阶梯数为:%d\n", i);
        }
    }
    return 0;
}

运行结果:

技术要点:

        本实例的关键是如何来写if语句中的条件,如果这个条件大家能够顺利地写出,那整个程序也基本上完成了。条件如何来写主要是根据题意来看,“当每步跨2阶时,最后剩1阶……当每步跨7阶时,最后正好走完,一阶也不剩”从这几句可以看出题的规律就是总的阶梯数对每步跨的阶梯数取余得的结果就是剩余阶梯数,这5种情况是&&的关系即必须同时满足。

        希望能对您的学习和生活有所帮助!

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值