[算法设计与分析]4.2.2蛮力法案例(三个数的最小公倍数+狱吏问题三种解法)

#include<stdio.h>
#include<iostream>

using namespace std;

void ThreeLCM();
void ReleasePrisoner1();
void ReleasePrisoner2();
void ReleasePrisoner3();

int main ()
{
    ThreeLCM();
    ReleasePrisoner1();
    ReleasePrisoner2();
    ReleasePrisoner3();
}

void ThreeLCM()
{
    int x1, x2, x3, i;
    x1 = 2;
    x2 = 5;
    x3 = 4;
    i = 1;

    while(1)
    {
        if(i % x1 == 0 && i % x2 == 0 && i % x3 == 0)
            break;
        i++;
    }
    cout << "result : " << i << endl;
}


void ReleasePrisoner1()
{
    int n = 4;//n是牢房数也是循环开锁数
    int a[n + 1];//用数组a代表牢房的状态,=1代表上锁
    for(int i = 0; i <= n; i++)
    {
        a[i] = 1;//对全部牢房进行初始化
    }
    //外层循环控制进行的次数 内层循环控制每次循环进行的具体操作
    for(int i = 1; i <= n; i++)//总共进行n次
    {
        for(int j = i; j <= n; j += i
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值