很妙的嵌套循环

编程新手指南:包含C++代码实现的连续数字生成和货币拼凑问题,附带智能标题和摘要。

        若您是老手,可划走,本篇内容对新手村的小伙伴有一定启迪:

         话不多说,先放代码:

​
#include <iostream>
using namespace std;
int main()
{
    int n, i, j, k;
    int cnt = 0;
    cout << "请输入索引数字:" << endl;
    cin >> n;

    for (i = n; i < n + 4; i++)
    {
        for (j = n; j < n + 4; j++)                
        {
            for (k = n; k < n + 4; k++)
            {
                if (i != j && i != k && j != k)    
                {
                    cout << i << j << k ;
                    cnt++;

                if (cnt % 6 == 0)
                    cout << endl;
                else
                    cout << " ";
                }

            }
        }
    }
    return 0;
}

​

        这种方式恰好完美地实现了依次递增的效果,类似时钟的三个指针那样带动着递增,本题目为连续输入问题,题目如下:

        给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

        输入格式:

输入在一行中给出A。

        输出格式:

输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。

        输入样例:
2
        输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543

        与此类似,还有一题,同样类比这个思路实现,先放出代码:

#include <iostream>
using namespace std;
int main()
{
    int one, two, five, x;
    cin >> x;
    for (one = 0; one <= x * 10; one++)
    {
        for (two = 0; two <= x * 10 / 2; two++)
        {
            for (five = 0; five <= x * 10 / 5; five++)
            {
                if (one + two * 2 + five * 5 == x * 10)
                    cout << one << " " << two << " " << five << endl;
            }
        }
    }
    return 0;
}

        本题是用一角 两角 五角钱来拼凑出任意的几元钱的所有拼凑方案,并且按照这种顺序实现输出,代码结构清晰,同时易于操作,易于书写。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值