MOOC (C++) 3-5美分找钱 将n美分转换成25、10、5和1美分的硬币总共有多少种转换方法?

简介: MOOC (C++) 3-5美分找钱 将n美分转换成25、10、5和1美分的硬币总共有多少种转换方法?

题目内容:


将n美分转换成25、10、5和1美分的硬币总共有多少种转换方法?


运行结果如下:


25


13


如果n不在0~99之间,输出提示信息“the money is invalid!”


运行结果如下:


101


the money is invalid!


输入格式:


整数,表示美分数


输入可能不是[0,99]之间的整数。输入不在该区间时,输出为“the money is invalid!”。


输出格式:


转换方法数或者提示信息“the money is invalid!”(不带引号啊,单词间只有一个空格)


输入样例:


25


输出样例:


13


时间限制:2000ms内存限制:64000kb


题目解析

按顺序判断每一种情况

选择符合要求的


C++


#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n,flag=0;
    cin>>n;
    if(n>99||n<0)
    {
        cout << "the money is invalid!" << endl;
        exit(0);
    }
    for(int i=0; i<4; i++)
    {
        for(int j=0; j<11; j++)
        {
            for(int k=0; k<20; k++)
            {
                for(int a=0; a<100; a++)
                {
                    if(25*i+10*j+5*k+a==n)
                        flag++;
                }
            }
        }
    }
    cout << flag << endl;
    return 0;
}
相关文章
|
6月前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
93 9
|
5月前
|
算法 Linux C++
C++框架设计中实现可扩展性的方法
在软件开发中,可扩展性至关重要,尤其对于C++这样的静态类型语言。本文探讨了在C++框架设计中实现可扩展性的方法:1) 模块化设计降低耦合;2) 使用继承和接口实现功能扩展;3) 通过插件机制动态添加功能;4) 利用模板和泛型提升代码复用;5) 遵循设计原则和最佳实践;6) 应用配置和策略模式以改变运行时行为;7) 使用工厂和抽象工厂模式创建可扩展的对象;8) 实现依赖注入增强灵活性。这些策略有助于构建适应变化、易于维护的C++框架。
428 2
|
2月前
|
编译器 API C语言
超级好用的C++实用库之跨平台实用方法
超级好用的C++实用库之跨平台实用方法
40 6
|
2月前
|
JavaScript 前端开发 Java
通过Gtest访问C++静态、私有、保护变量和方法
通过Gtest访问C++静态、私有、保护变量和方法
72 0
|
3月前
|
C++
C++ 避免多重定义的方法
C++ 避免多重定义的方法
61 0
|
3月前
|
Dart API C语言
Dart ffi 使用问题之想在C/C++中创建异步线程来调用Dart方法,如何操作
Dart ffi 使用问题之想在C/C++中创建异步线程来调用Dart方法,如何操作
|
5月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
5月前
|
存储 编译器 程序员
C++语言速成方法
C++语言速成方法
|
5月前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
81 0
|
5月前
|
C++ 安全
高效遍历:C++中分隔字符串单词的3种方法详解与实例
拷贝并交换(Copy-and-Swap)是C++中实现赋值操作符和异常安全拷贝构造函数的技巧。它涉及创建临时对象,使用拷贝构造函数,然后交换数据以确保安全。C++11之前的策略在此后及C++11引入的移动语义和右值引用下仍有效,但后者提供了更高效的实现方式。