NOIP 1998 普及组 2的幂次方 解题报告

2023-10-27

  虽说是普及组,还是不好处理啊!想了好久,最后决定使用一个栈来维护所有的枚举,总的来说我这里算是用了两个栈(因为BFS本身就能算一个栈),这个题目真的有挑战性啊,算法没什么,但是规律方面的东西好重要饿。。。。

  不说了,代码:

#include <stdio.h>
#include <stdlib.h>
int flag = 0;
int stack[100000];
int top;

void push(int k)
{
	stack[top++] = k;
}

int pop(void)
{
	return stack[--top];
}

void output(int k)
{
	int i, j;
	int t;
	if(k == 0){
		printf("0");
		return ;
	}
	for(i = j = 0; k != 0; i++, k /= 2){
		if(k & 1){
			push(i);
			j++;
		}
	}
	for(i = 0; i < j; i++){
		if(i != 0){
			printf("+");
		}

		t = pop();
		if(t == 1){
			printf("2");
			continue;
		}else{
			printf("2(");
			output(t);
			printf(")");
		}
	}
}

int main(int argc, char **argv)
{
	int n;
	scanf("%d", &n);
	output(n);
	printf("\n");
	return 0;
}

  

转载于:https://www.cnblogs.com/yylogo/archive/2011/08/19/NOIP-1998-2.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NOIP 1998 普及组 2的幂次方 解题报告 的相关文章

  • CSS层叠上下文

    在学习z index属性的时候 限制了能够使用z index属性的元素 那么为什么有的元素能够使用z index 因为他创建了一个层叠上下文 对于这个词的理解首先要理解上下文 上下文这个名词的出现有很多地方 块级格式上下文 执行上下文 在不
  • 【转载】VC常用小技巧(2)

    项目 如何干净的删除一个类 1 先删除项目中对应的 h和 cpp文件 选中后用 Delete键删除 2 保存后退出项目 到文件夹中删除实际的 h和 cpp文件 3 删除 clw文件 4 重新进入项目 进行全部重建 rebuild all 如
  • 批处理常用命令及用法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 批处理常用命令及用法大全 阅读本文需要一定的dos基础概念 象 盘符 文件 目录 文件夹 子目录 根目录 当前目录每个命令的完整说明请加 参数参考微软的帮助文档可以看到 在
  • 前端 - 实习两个星期总结

    文章目录 吐槽 总结 新人建议 项目学习到的 今天已经是菜鸟实习的第二个星期了 怎么说呢 反正就是进的一个不大不小的厂 做着不难不易的事 菜鸟现在主要做的就是适配 现在就来总结一下 不过这之前 菜鸟不得不吐槽一波 吐槽 1 菜鸟进的是一家国
  • kvm常见故障及解决

    一 启动虚拟机Connection reset by peer virsh start vmhost1error Failed to start domain vmhost1error Unable to read from monitor
  • 浙江大学计算机学院最权威的老师,浙江大学计算机科学与技术专业导师介绍:郑能干...

    姓名 郑能干 性别 男 职称 副教授 在岗性质 全职在岗 学院 系 计算机科学与技术学院 招生资格类别 硕士生导师 研究方向 人工智能嵌入式系统神经信息工程普适计算 Email zng cs zju edu cn 个人简介 郑能干 男 19
  • 【计算机视觉】深度学习框架-Keras

    文章目录 1 从零开始训练网络 1 1 搭建网络基本架构 1 2 构建训练网络 1 3 启动训练网络并测试数据 2 用Keras实现一个简单神经网络 2 1 Keras简介 2 2 MNIST手写数字识别 详细解释步骤 2 2 1 数据的加
  • C++内存管理(3)——内存池

    1 默认内存管理函数的不足 为什么使用内存池 利用默认的内存管理操作符 new delete 和函数 malloc free 在堆上分配和释放内存会有一些额外的开销 系统在接收到分配一定大小内存的请求时 首先查找内部维护的内存空闲块表 并且
  • [tensorflow] eval和run的区别

    在tensorflow中 eval和run都是获取当前结点的值的一种方式 在使用eval时 若有一个 t 是Tensor对象 调用t eval 相当于调用sess run t 一下两段代码等效 float tensor tf cast tf
  • 毕设系列 - java web 项目获取方式说明

    文章目录 1 项目获取地址 2 项目包含内容 2 1 整体项目内容 3 样例 基于java web的网上招聘系统的设计与实现 3 1 系统研究背景 3 2 系统研究意义 3 3 开发环境 3 4 系统设计 3 4 1 系统设计模块 3 4
  • AOSP>设计>测试>(第三节)兼容性测试套件CTS

    AOSP gt 设计 gt 测试 gt 兼容性测试套件CTS 第三节 兼容性测试套件 CTS 概览 工作流程 测试用例的类型 涵盖的领域 设置CTS 物理环境 蓝牙 LE 信标 相机 GPS GNSS WLAN 和 IPv6 Wi Fi R
  • 基于MATLAB实现语音信号加噪与去噪的低通滤波器

    基于MATLAB实现语音信号加噪与去噪的低通滤波器 一 概述 在语音信号处理中 由于外界环境的干扰或传输过程中的噪声引入 可能导致语音信号质量下降 为了提高语音信号的清晰度和可懂度 需要对信号进行去噪处理 本文将介绍如何使用MATLAB实现
  • 启明智显分享

    提示 启明智显专为智能产品提供一站式彩屏显示 连接 云端服务 APP软件开发 维护等解决方案 帮厂商快速实现硬件的智能化 作为启明云端旗下方案公司 我们用心整理了开发小伙伴在开发过程中可能会遇到的问题以及快速上手的简明教程 同时也用心整理了
  • 最小二乘法 python实现

    最小二乘法适用于对处理的一堆数据 不必精确的经过每一点 而是根据图像到每个数据点的距离和最小确定函数 最小二乘法逼近的最简单的例子是根据一组观测值对 x1 y1 x2 y2 xn yn 来拟合一条直线 直线的数学表达式为 下面是一元线性拟合
  • Qt版本的选择与安装

    Qt简介 Qt是当下最流行的C 开发库 也是当下最流行的跨平台开发框架之一 可开发桌面端应用 移动端应用以及嵌入式端应用 可以说能支持的系统基本都支持 它可以做GUI但功能远不止GUI 我们用的最多的还是桌面端和嵌入式端的应用 移动端应用流
  • 最新Android Studio解决> No cached version of org.javailable for offline mode.

    问题 A problem occurred configuring root project kaikeba gt Could not resolve all artifacts for configuration classpath gt
  • 报错:Dependency annotations: {@org.springframework.beans.fact}

    我当时检查了下面的所有内容发现都没有错 最后在第五个监听器打错了 这给我气的 大家自己对照下面的内容仔细看看自己哪里错了吧 类检查方面 1 是否在加了 Controller Repository Service 注解 Controller
  • MySQL JDBC编程

    文章目录 什么是JDBC编程 JDBC的工作原理 JDBC的优点 JDBC的使用 插入操作 修改操作 删除操作 查询操作 什么是JDBC编程 JDBC编程就是用Java代码来操作数据库 JDBC即Java Database Connecti
  • STM32 - GPIO 详解

    GPIO 详解 文章目录 GPIO 详解 1 GPIO 是什么 2 STM32 引脚分类 3 GPIO 内部结构 3 1 保护二极管 3 2 上下拉电阻 3 3 P MOS 和 N MOS 3 4 输出数据寄存器 3 5 复用输出功能 3
  • vue2和vue3的区别

    原文地址 https www cnblogs com limou956259 p 17195546 html 1 双向数据绑定原理不同 vue2 vue2的双向数据绑定是利用ES5的一个API Object definePropert 对数

随机推荐

  • C++笔记

    C 中的cast 1 const cast 2 dynamic cast 3 static cast 4 reinterpret cast C 中variable的definition initialization assignment d
  • ‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

    需要确认自己已经下载了git 如果已经下载了git 就可能是git的路径发生的改变 更改环境变量配置即可 环境变量配置 1 进入电脑设置 关于 高级系统设置 2 点击环境变量 3 双击进入系统变量中的path 4 点击新建 5 根据自己的g
  • Maven解决jar包版本冲突的4种方法

    概念 先解释下maven的依赖传递 a jar包引入了b jar包 如果项目中引入了a jar包 其实也会把a依赖的b jar包引入 那现在有a c这2个jar包 a jar包依赖的是1 0 0版本的b jar包 c jar包也依赖了b j
  • 将图片保存成字符串,以及字符串转换为图片

    将图片保存成字符串的样子保存在excel表格 上代码 public class FileConfig 当前项目目录下的files public static String FILE ADDRESS PATH System getProper
  • C语言入门之工资计算

    include
  • Python 第一章 基础知识(3) 数字和表达式 加减乘除

    第一章 基础知识 3 数字和表达式 运行IDLE 在提示符前输入 加法 gt gt gt 2 2 4 lt 解释器会得出2 2的答案4 除法 gt gt gt 1 2 0 lt 解释器会给出截除掉小数部分的1除以2的商 gt gt gt 1
  • Mybatis-plus:条件查询的方法

    方法1 QueryWrapper
  • windows系统80端口号被System占用

    废话不多说 直入主题 windows系统80端口号被System占用 查找追踪看到是 PID 4 的一个System进程在占用 网上所说的解决方法 方法一 1 Win R 组合快捷键 快速打开运行命令框 在打开后面键入命令 Regedit
  • 码农得用专用的Code字体,推荐几款专业级别的程序员专用字体

    别怀疑 下面的这些字体是程序员专用的编码字体 尤其是带 Code 名字的字体 从名字上看就知道 专门用来Code用的 1 Source Code Pro PS那个公司知道吧 就是这个公司专门为程序员设计的等宽字体 要知道 写代码 一般的字体
  • 光束法空三的计算问题,误差方程的多余观测数,未知数个数、多余观测值的计算

    1 未知数个数 必要观测值个数 未知数个数 t u 3 未知点数目 6 相片数目 3 代表一个未知点的 x y z 6代表一张像片的6个外方位元素 都是待定值 都是未知数 2 观测值个数 1 未知数个数求法 1 观测值个数 n 2 m 的含
  • sparksql压缩小文件

    SET spark sql shuffle partitions 2 SET spark sql adaptive enabled true SET spark sql adaptive shuffle targetPostShuffleI
  • Kotlin 常见符号大全

    gt 下划线 as 1 修饰在成员变量的类型后面 表示这个变量可以为null 系统在任何情况下不会报它的空指针异常 修改在对象后面代表该对象如果为null则不处理后面逻辑 如果我们定义的变量是一个可以为空的类型 则要用 String 在变量
  • Qt、MinGW编译OpenCV 4.5.4(包含opencv_contrib)详细过程

    Qt MinGW CMake编译OpenCV 4 5 4 包含opencv contrib 详细过程 目录 Qt MinGW CMake编译OpenCV 4 5 4 包含opencv contrib 详细过程 1 工具下载准备 2 CMak
  • Linux·异步IO编程框架

    hi 大家好 今天分享一篇Linux异步IO编程框架文章 对比IO复用的epoll框架 到底性能提高多少 让我们看一看 译者序 本文组合翻译了以下两篇文章的干货部分 作为 io uring 相关的入门参考 How io uring and
  • ZGC的运行过程以及读屏障

    ZGC运作过程 ZGC的运作过程大致可划分为以下四个大的阶段 并发标记 Concurrent Mark 与G1一样 并发标记是遍历对象图做可达性分析的阶段 它的初始标记 Mark Start 和最终标记 Mark End 也会出现短暂的停顿
  • 了解前端监控和埋点(持续更新中,,,)

    基本概念 前端埋点主要是为了运营以及开发人员采集用户行为数据 以及页面性能等数进行后续的数据分析 一般目的 1 性能监控 2 数据监控 3 异常监控 埋点方案 5 代码埋点 6 无埋点 7 可视化埋点 埋点的目的 在现今用户就是上帝的年代
  • 会话保持和非会话保持

    会话保持 方式 1 session机制保持会话 缺点 1 1当前服务器处于高并发的时候 对于服务器是一个压力 占用大量的服务器资源 1 2如果一个业务系统是分布式部署在多个服务器的情况下 session不能相互间共享 解决方式 1 3高并发
  • 十个常见异常实例

    第一个 try float j 1 0 catch Exception e exceptions add e 第二个 try String s null String m s toLowerCase catch Exception e ex
  • 常见软件开发模式

    一 瀑布模型 瀑布模型的特点 1 阶段间具有顺序性和依赖性 2推迟实现 3质量保证的观点 总结 瀑布模型是文档驱动的模型 遵守这个约束可使软件维护变得比较容易一些 从而显著降低软件预算 二 快速原型 快速分析 gt 构造 gt 运行 gt
  • NOIP 1998 普及组 2的幂次方 解题报告

    虽说是普及组 还是不好处理啊 想了好久 最后决定使用一个栈来维护所有的枚举 总的来说我这里算是用了两个栈 因为BFS本身就能算一个栈 这个题目真的有挑战性啊 算法没什么 但是规律方面的东西好重要饿 不说了 代码 include