NOIP 1998 普及组 复赛 幂次方

2023-11-09

NOIP 1998 普及组 复赛 幂次方

//1208 2的幂次方表示

//此文代码与本人极其相似,唯一不同就是此文代码成功了,http://www.cnblogs.com/bofengyu/p/4477355.html

//思路,先打印2(7)+2(3)+2(0)

//再对7 3 0进行处理,本人这里没静下心,怎么编也编不出,参考了上述代码,发现离成功只有一步

//不过,相比 洛谷  P1010 幂次方 http://blog.csdn.net/mrcrack/article/details/61625530

//已经有了长足的进步

//该题是边编写边调试的典范。2017-11-7 18:51

//抽空,还是要独立再进行编写一次。

#include <stdio.h>

void f(int n,int step){

    if(n==0)return;

    f(n/2,step+1);

    if(n%2==1){

        if(n/2!=0){

            printf("+");

        }

        if(step==1)printf("2");//此处添加

        else{

            printf("2(");

            if(step==0)printf("0");

            else f(step,0);

            printf(")");

        }

    }

}

int main(){

    int n;

    scanf("%d",&n);

    f(n,0);

    return 0;

}


//P1010 幂次方
//快速幂的学习还是有帮助的,至少能分离出幂次方
//因n<=20000故n<2^15故数组不会太大
//采用递归,程序核心数据计算没有问题,但打印又遇到困难,感觉有难度。
//硬着头皮,还是编好,样例测试通过,提交AC。
//收获,首次主动采用递归函数进行编程。难得。
#include <stdio.h>
#include <string.h>

void dy(int n){
    int a[20],i,k=0;
    memset(a,0,sizeof(a));
    while(n){
        if(n&1)
            a[k]=1;
        n>>=1;
        k++;
    }
    if(k-1==0)
        printf("2(0)");
    else if(k-1==1)
        printf("2");
    else if(k-1==2)
        printf("2(2)");
    else{
        printf("2(");
        dy(k-1);
        printf(")");
    }
        
    for(i=k-2;i>=0;i--)
        if(a[i]==1){
            if(i==0)
                printf("+2(0)");
            else if(i==1)
                printf("+2");
            else if(i==2)
                printf("+2(2)");
            else{
                printf("+2(");
                dy(i);
                printf(")");
            }
        }
}
int main(){
    int n;
    scanf("%d",&n);
    dy(n);
    return 0;
}


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

NOIP 1998 普及组 复赛 幂次方 的相关文章

  • NOIP 2002 普及组第四题 过河卒

    题目描述 棋盘上 A 点有一个过河卒 xff0c 需要走到目标 B 点 卒行走的规则 xff1a 可以向下 或者向右 同时在棋盘上 C 点有一个对方的马 xff0c 该马所在的点和所有跳跃一步可达的点称为对方马的控制点 因此称之为 马拦过河
  • [NOIP2014]珠心算测验 T1

    珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术 珠心算训练 既能够开发智力 又能够为日常生活带来很多便利 因而在很多学校得到普及 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法 他随机生成一个正整数集合 集合中的
  • 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见 https blog csdn net mrcrack article details 86501716 信息学奥赛一本通 C 版 刷题 记录 http ybt ssoier cn 8088 http blog csdn net
  • 信息学奥赛一本通(C++版) 第一部分 C++语言 第一章 C++语言入门

    总目录详见 https blog csdn net mrcrack article details 86501716 信息学奥赛一本通 C 版 第一部分 C 语言 第一章 C 语言入门 http ybt ssoier cn 8088 100
  • 07:和为给定数

    总时间限制 1000ms 内存限制 65536kB 描述 给出若干个整数 询问其中是否有一对数的和等于给定的数 输入 共三行 第一行是整数n 0 lt n lt 100 000 表示有n个整数 第二行是n个整数 整数的范围是在0到10 8之
  • 【定理】算术基本定理(唯一分解定理)

    大蒟蒻来水贴了 算术基本定理 唯一分解定理 一句话 任何大于 的自然数 都可以唯一分解成有限个质数的乘积 例如对于大于1的自然数n 这里P i i均为质数 其指数a i i是正整数 这样的分解称为的标准分解式 唯一分解定理具有 唯一性 分配
  • C++一行输入多个整数,每个整数用空格隔开,回车结束输入

    C 一行输入多个整数 每个整数用空格隔开 回车结束输入 include
  • 【并查集】黑魔法师之门

    黑魔法师之门 magician pas c cpp 题目描述 经过了16个工作日的紧张忙碌 未来的人类终于收集到了足够的能源 然而在与Violet星球的战争中 由于Z副官的愚蠢 地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Vio
  • NOIP 1998 普及组 复赛 幂次方

    NOIP 1998 普及组 复赛 幂次方 1208 2的幂次方表示 此文代码与本人极其相似 唯一不同就是此文代码成功了 http www cnblogs com bofengyu p 4477355 html 思路 先打印2 7 2 3 2
  • NOIP2004提高组题解

    T1 津津的储蓄计划 考察知识 模拟 算法难度 X 实现难度 X 分析 按照题目的要求模拟就可以了 只是要考虑严谨 还要看懂题目 代码 include
  • [Wikioi 2808][NOIP 1998普及组]二的幂次方---HBNU的童鞋过来看看

    题目描述 Description 任何一个正整数都可以用2的幂次方表示 例如 137 2 7 2 3 2 0 同时约定次方用括号来表示 即a b可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 2 2 2 2 0
  • [NOIP 2014复习]第二章:搜索

    一 深度优先搜索 DFS 1 Wikioi 1066引水入城 题目描述 Description 在一个遥远的国度 一侧是风景秀美的湖泊 另一侧则是漫无边际的沙漠 该国的行政 区划十分特殊 刚好构成一个N行M列的矩形 如上图所示 其中每个格子
  • OpenJudge1.4编程基础之逻辑表达式与条件分支

    文章目录 01 判断数正负 02 输出绝对值 03 奇偶数判断 04 奇偶ASCII值判断 05 整数大小比较 06 判断是否为两位数 07 收集瓶盖赢大奖 08 判断一个数能否同时被3和5整除 09 判断能否被3 5 7整除 10 有一门
  • c++基础--另类的分支结构

    前言 本节课讲的主要知识点是三目运算符和switch语句 同时也是我们分支结构部分的结尾内容 而从第三课开始到第五课 都是讲述分支结构的相关知识点 他们的特点都是相辅相成的 因此建议通读三篇文章 加强理解 同时做题也是必不可少滴 三目运算符
  • 关于暴力&瞎搞骗分的一些实例

    骗分的实质 不会做的题用最少的时间写代码得到最多的分数 下面是几个乱搞骗分的实例 抛砖引玉让大家感受下骗分的强大 1 NOI 2008 志愿者招募 http codevs cn problem 1803 根据题目范围可以想到直接搜索骗分 期
  • CSP-J (NOIP普及组) 历年复赛真题考察内容(1998~2021)

    TZOJ题目分类 本博客原文地址 https www cnblogs com BobHuang p 14522022 html 其中 1 较简单题26题左右 2 动态规划17题 其中9题较好做 3 模拟 阅读题目将问题抽象建模写出程序 为1
  • [NOIP1998 普及组] 阶乘之和

    题目描述 用高精度计算出 S 1 2 3 n n 50 其中 表示阶乘 定义为 n n n 1 n 2 1 例如 5 5 4 3 2 1 120 输入格式 一个正整数 n 输出格式 一个正整数 S 表示计算结果 输入输出样例 输入 1 3
  • NOIP题目解析之取石子问题

    题目 现有5堆石子 石子数依次为3 5 7 19 50 甲乙两人轮流从任一堆中取石子 取最后一颗石子的一方获胜 甲先取 请问甲有没有获胜策略 如果有 甲第一步应在哪一堆里取多少 解析 在解这一道题之前 我们可以先来把问题简化 把五堆石子转化
  • NOIP1998普及组复赛第二题 贰的幂方 解题报告

    问题描述 任何一个正整数都可以用 2 的幂次方表示 例如 137 27 23 20 在这里我们约定次方用括号来表示 即 ab 可表示为 a b 由上面叙述可知 137 又可以表示为 2 7 2 3 2 0 进一步 7 22 2 20 2 2
  • 原码,反码,补码,阶码,移码

    本文转载自本站大佬 不去上课 原文链接https blog csdn net ruidianbaihuo article details 87875178 原码 反码 补码 阶码 移码是什么 有什么区别 讨论机器数的表示 本文内容参考自王达

随机推荐

  • cppcheck使用

    cppcheck使用 cppcheck说明 cppcheck能够检查出来的问题 cppcheck使用并生成html结果 生成html结果 cppcheck说明 cppcheck主要用来检查c c 代码的 本文主要讲述cppcheck用命令行
  • Flutter 开发小结

    接触 Flutter 已经有一阵子了 期间记录了很多开发小问题 苦于忙碌没时间整理 最近项目进度步上正轨 借此机会抽出点时间来统一记录这些问题 并分享项目开发中的一点心得以及多平台打包的一些注意事项 希望能对大家有所帮助 UI 组件使用 官
  • Linux 下使用Crontab定时任务同时执行多条定时任务

    Linux 下使用Crontab定时任务同时执行多条定时任务 使用 符连接即可 示例如下 0 6 bea ceos timer bin pb ClosePbManifestTimer sh gt dev null 2 gt 1 bea ce
  • 【高项】质量管理(ITTO)

    过程组 子过程 输入 I 工具和技术 TT 输出 O 规划 1规划质量管理 1 项目章程 2 项目管理计划 需求管理计划 风险管理计划 相关方参与计划 范围基准 3 项目文件 假设日志 需求文件 需求跟踪矩阵 风险登记册 相关方登记册 4
  • QT源码剖析-QT对象通信机制信号槽的绑定具体实现

    本文详细介绍QT核心机制之一 信号和槽 我们在此根据Qt源代码一步一步探究其信号槽的实现过程 核心知识点 模板元编程技术 Qt moc预编译机制 QObject类 目录 1 QObject类介绍 2 相关助手类介绍 2 1 类型 函数指针
  • pip安装出现Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '

    问题描述 pip安装库或者更新pip版本时出现如下问题 Could not install packages due to an EnvironmentError Errno 2 No such file or directory c us
  • LeetCode 面试题01.09 字符串轮转

    题目 字符串轮转 给定两个字符串s1和s2 请编写代码检查s2是否为s1旋转而成 比如 waterbottle 是 erbottlewat 旋转后的字符串 示例1 输入 s1 waterbottle s2 erbottlewat 输出 Tr
  • 一个独特的开源插件evil.js

    前言 最近发现一个好玩有解压的开源插件 注意 不可使用在正式项目中 这里分享下 gitee地址 evil js 此代码仅在周日的时候执行以下逻辑 声明 请勿用于任何项目 如果导致任何问题 与本人无关https gitee com haoxi
  • 矩阵LU分解

    一 矩阵LU分解定理 设A为n阶矩阵 如果A的顺序主子式Di 0 i 1 2 n 1 则A可以分解为一个单位下三角矩阵L和一个上三角矩阵U的乘积 且这种分解是唯一的 即A LU 二 矩阵LU分解Python代码 自己原创 def lu de
  • 第十二章 - 条件判断(case when 和 if)和视图

    第十二章 条件判断 case when 和 if 和视图 view if 的用法 case when 的用法 视图 view 的用法 if 的用法 通过使用if函数可以实现数据二分类或者多分类的功能 比如按年龄区分青年 中年 老年 或者按价
  • Python2_Pandas库(数据读取)

    1 数据读取 food info csv数据 import pandas food info pandas read csv food info csv read csv函数读取csv数据文件 print type food info Da
  • 汇编笔记——判断大小

    判断指令 CMP AL num 判断条件 这里的JA JB JE JMP相当于goto命令 JA L0 A gt above AL比num大 执行L0 JB L1 B gt below AL比num小 执行L1 JE L2 E gt equ
  • 树结构转List

    使用LinkedList效率更高 1 单个顶级节点 public static List
  • 网络安全(黑客技术)自学笔记

    目录 一 自学网络安全学习的误区和陷阱 二 学习网络安全的一些前期准备 三 网络安全学习路线 四 学习资料的推荐 想自学网络安全 黑客技术 首先你得了解什么是网络安全 什么是黑客 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队
  • chromium之jumplist

    chrome在win7及之后系统添加jumplist功能 jumplist即系统任务栏相关的功能 包括任务栏图标 鼠标放置后视图 进度条 右键菜单等等 路径 chromium src chrome browser win jumplist
  • 21. 合并两个有序链表

    21 合并两个有序链表 简单 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 输入 l1 1 2 4 l2 1 3 4 输出 1 1 2 3 4 4 示例 2 输入 l1 l2 输出 示例 3
  • vue 阻止事件冒泡,捕获方法

    要想了解 VUE 阻止事件冒泡和捕获方法 首先要了解一下 JS 事件和 JS 阻止事件冒泡 捕获方法 1 js 事件的三阶段 捕获阶段 目标阶段 执行当前对象的事件处理程序 冒泡阶段 2 js 阻止事件冒泡 捕获 阻止事件冒泡 event
  • OceanBase 安全审计之透明加密

    承接前文 OceanBase 安全审计的 传输加密 本文主要实践数据透明加密 并验证加密是否有效 作者 张乾 外星人2号 兼任四位喵星人的铲屎官 爱可生开源社区出品 原创内容未经授权不得随意使用 转载请联系小编并注明来源 本文约 1200
  • layui导入Excel文件

    具体如下图所示 首先 导入layui第三方插件js 地址 https fly layui com extend excel 1 在页面中引入excel js文件 引入excel layui config base layui ext ext
  • NOIP 1998 普及组 复赛 幂次方

    NOIP 1998 普及组 复赛 幂次方 1208 2的幂次方表示 此文代码与本人极其相似 唯一不同就是此文代码成功了 http www cnblogs com bofengyu p 4477355 html 思路 先打印2 7 2 3 2