首页 > 其他分享 >[CSP-J 2022] 乘方

[CSP-J 2022] 乘方

时间:2024-10-22 11:18:25浏览次数:3  
标签:10 ab 输出 30 样例 le 乘方 2022 CSP

题面

题目描述

小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 a a a 和 b b b,求 a b a^b ab 的值是多少。

a b a^b ab 即 b b b 个 a a a 相乘的值,例如 2 3 2^3 23 即为 3 3 3 个 2 2 2 相乘,结果为 2 × 2 × 2 = 8 2 \times 2 \times 2 = 8 2×2×2=8。

“简单!”小文心想,同时很快就写出了一份程序,可是测试时却出现了错误。

小文很快意识到,她的程序里的变量都是 int 类型的。在大多数机器上,int 类型能表示的最大数为 2 31 − 1 2^{31} - 1 231−1,因此只要计算结果超过这个数,她的程序就会出现错误。

由于小文刚刚学会编程,她担心使用 int 计算会出现问题。因此她希望你在 a b a^b ab 的值超过 10 9 {10}^9 109 时,输出一个 -1 进行警示,否则就输出正确的 a b a^b ab 的值。

然而小文还是不知道怎么实现这份程序,因此她想请你帮忙。

输入格式

输入共一行,两个正整数 a , b a, b a,b。

输出格式

输出共一行,如果 a b a^b ab 的值不超过 10 9 {10}^9 109,则输出 a b a^b ab 的值,否则输出 -1

样例 #1

样例输入 #1

10 9

样例输出 #1

1000000000

样例 #2

样例输入 #2

23333 66666

样例输出 #2

-1

提示

对于 10 % 10 \% 10% 的数据,保证 b = 1 b = 1 b=1。
对于 30 % 30 \% 30% 的数据,保证 b ≤ 2 b \le 2 b≤2。
对于 60 % 60 \% 60% 的数据,保证 b ≤ 30 b \le 30 b≤30, a b ≤ 10 18 a^b \le {10}^{18} ab≤1018。
对于 100 % 100 \% 100% 的数据,保证 1 ≤ a , b ≤ 10 9 1 \le a, b \le {10}^9 1≤a,b≤109。

答案

解答

思路

直接模拟,如果大于 1 0 9 10^9 109 就停止循环。

注意特判 a = 1 a=1 a=1 时直接输出 1 1 1 。

代码

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll maxn=1e9;
ll a,b,t=1;

int main()
{
    scanf("%lld%lld",&a,&b);
    if(a==1){printf("1\n");return 0;}
    for(int i=1;i<=b;i++)
    {
        t*=a;
        if(t>maxn)
            {printf("-1\n");return 0;}
    }
    printf("%lld\n",t);
    return 0;
}

标签:10,ab,输出,30,样例,le,乘方,2022,CSP
From: https://blog.csdn.net/lfggy/article/details/143141900

相关文章

  • [CSP-J 2021] 分糖果
    题面题目背景红太阳幼儿园的小朋友们开始分糖果啦!题目描述红太阳幼儿园有nnn个小朋友,你是其中之一。保证n......
  • Day11 备战CCF-CSP练习
    Day11题目描述题目很长,就不赘述了(主要是懒得写)题目解析Gauss消元题目的提示很明显,将元素守恒作为建立等式的基础。只要满足每一行元素守恒,即\(x_1+x_2+···+x_n=0\)即可元素个数为\(m\),物质个数为\(n\),增广矩阵的大下为\(m*(n+1)\),Gauss消元时间复杂度为\(O......
  • 20222401 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1实验内容1.1实践基本知识1.1.1后门后门就是不经过正常认证流程而访问系统的通道。最早的后门并不是恶意的,而是开发人员为了便于在开发期间调试程序而设置的快捷路径。按照存在位置进行分类,可以分为以下4类:编译器后门操作系统后门应用程序后门伪装成正常程序的后门1.......
  • # 20222309 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1、实践内容(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧(2)通过组合应用各种技术实现恶意代码免杀(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本2、实验要求(1)杀软是如何检测出恶意代码的?基于特征......
  • 20222315 2024-2025-3 《网络与系统攻防技术》实验三实验报告
    1.实验内容通过多次加密、文件格式欺骗、填充、加壳等技术实现shellcode免杀,产生恶意程序,并尝试通过杀毒软件,不被杀毒软件查杀。1、通过使用msf编码器,用msfvenom命令生成exe,jar等文件。2、使用veil、夹壳工具来尝试让shellcode实现免杀:3、使用C+shellcode编程;4、尝试将文件......
  • CSP2024 前集训:csp-s模拟12
    前言咕了好久才写,当时又发烧了所以没有交。虽然有两道签,但一道时计算几何一道放了T4都没打,T1赛时猜到结论和先看T4的都赢麻了,T1赛时\(π\)只会背倒第九位精度炸了暴力都不对。剩下的题当天太难受了都没改,改的两道都是specialjudge哎?T1小h的几何九点圆圆心的证......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛10
    前言不想说啥了最简单的一题是紫,去死吧只改了T1、T2,T2原题翻译和赛时题面描述都很唐,赛后断断续续加了好多hack。T1岛屿设\(f_{a,b}\)表示\(a\)条两端同色链,\(b\)条两端异色链时连通块数量的期望。红红蓝蓝相连得到红蓝\(\tof_{a-1,b+1}\)。红红红蓝相连得到红红......
  • VS2022安装OpenGL (GLUT)
    VS2022安装OpenGL(GLUT)下载GLUT并解压安装打开VS2022根目录下的include文件夹:...\2022\VC\Tools\MSVC\14.31.31103\include在这里创建一个名为gl的文件夹在gl文件夹中放入glut.h文件打开VS2022根目录下的lib文件夹:xxx\VS2022\VC\Tools\MSVC\14.31.31103\lib打开其中的......
  • csp2024 复习计划
    啊啊啊啊啊啊啊啊啊啊啊啊啊啊先复习板子,再复习Trick和题目。1.数据结构平衡树笛卡尔树线段树、树状数组的各种Trick哈希的方法、题目2.杂算法CDQ分治、整体二分、点分治、点分树KMP可以做道大搜索练练手3.图论最小生成树、最短路建模相关......
  • 20222313 2024-2025-1 《网络与系统攻防技术》实验二报告
    一.实验内容实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell(4)使用MSFmeterpreter(或其他软件)生成获取......