• 自恋性数 马蹄集


     自恋性数
    难度:青铜
    时间限制:1秒
    巴占用内存:64M
    请编写一个简单程序,判断自恋性数。如果一个正整数等于其各个数字的立方
    和,则称该数为自恋性数(亦称为阿姆斯特朗数,
    格式
    输入格式:输入整型
    输出格式:输出Y或者N

    1. //
    2. // Created by abner on 2022/11/11.
    3. //
    4. #include
    5. using namespace std;
    6. int main()
    7. {
    8. int n,sum,temp;
    9. scanf("%d",&n);
    10. temp = n;
    11. sum = 0;
    12. while(temp)
    13. {
    14. sum += pow(temp%10 , 3);
    15. temp = temp / 10;
    16. }
    17. if(sum == n)
    18. printf("Y\n");
    19. else
    20. printf("N\n");
    21. return 0;
    22. }

    7. Bridge(桥接)

    意图:

    将抽象部分与它的实现部分分离,使它们都可以独立地变化。

    适用性:

    你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。

    类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge 模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。

    对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。

    (C++)你想对客户完全隐藏抽象的实现部分。在C++中,类的表示在类接口中是可见的。

    有许多类要生成。这样一种类层次结构说明你必须将一个对象分解成两个部分。Rumbaugh 称这种类层次结构为“嵌套的普化”(nested generalizations )。

    你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。一个简单的例子便是Coplien 的String 类[ Cop92 ],在这个类中多个对象可以共享同一个字符串表示(StringRep )。

    详解:设计模式是什么鬼(桥接)

    8. Composite(组合)

    意图:

    将对象组合成树形结构以表示“部分-整体”的层次结构。C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性。

    适用性:

    你想表示对象的部分-整体层次结构。

    你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。

    详解:设计模式是什么鬼(组合)

    9. Decorator(装饰)

    意图:

    动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。

    适用性:

    在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。

    处理那些可以撤消的职责。

    当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。

    详解:设计模式是什么鬼(装饰)

    10. Facade(外观)

    意图:

    为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

    适用性:

    当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。Facade 可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过facade层。

    客户程序与抽象类的实现部分之间存在着很大的依赖性。引入facade 将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。

    当你需要构建一个层次结构的子系统时,使用facade模式定义子系统中每层的入口点。如果子系统之间是相互依赖的,你可以让它们仅通过facade进行通讯,从而简化了它们之间的依赖关系。

    详解:设计模式是什么鬼(门面)

    11. Flyweight(享元)

    意图:

    运用共享技术有效地支持大量细粒度的对象。

    适用性:

    一个应用程序使用了大量的对象。

    完全由于使用大量的对象,造成很大的存储开销。

    对象的大多数状态都可变为外部状态。

    如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。

    应用程序不依赖于对象标识。由于Flyweight 对象可以被共享,对于概念上明显有别的对象,标识测试将返回真值。

    详解:设计模式是什么鬼(享元)

  • 相关阅读:
    大健康行业千城万企信用建设工作启动大会在京召开
    web3.0涉及的技术
    基于订单流的日内盘口策略
    anaconda,cuda,torch,lightning的安装
    从文本提取信息(基于nltk)
    IDaaS 系统 ArkID 一账通内置插件:图形验证码认证因素的配置流程
    简单模拟与链表
    VUE之Vxe-table动态生成多级表头及后端返回数据的处理
    【Linux学习笔记】基础IO
    批处理小程序的制作
  • 原文地址:https://blog.csdn.net/m0_62574889/article/details/127799784