P0010【普及组】幂次方(Java)
admin
2024-04-19 13:15:59
0

目录

题目描述

输入格式

输出格式

输入输出样例

输入#1

输出#1

输入#2

输出#2

数据范围

解题思路

代码


题目描述

任何一个正整数都可以用 22 的幂次方表示。例如 137=2^7+2^3+2^0137=27+23+20。

同时约定方次用括号来表示,即 a^bab 可表示为 a(b)a(b)。

由此可知,137137 可表示为 2(7)+2(3)+2(0)2(7)+2(3)+2(0)

进一步:

7= 2^2+2+2^07=22+2+20 ( 2^121 用 22 表示),并且 3=2+2^03=2+20。

所以最后 137137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)2(2(2)+2+2(0))+2(2+2(0))+2(0)。

又如 1315=2^{10} +2^8 +2^5 +2+11315=210+28+25+2+1

所以 13151315 最后可表示为 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)。

输入格式

一行一个正整数 nn。

输出格式

符合约定的 nn 的 0, 20,2 表示(在表示中不能有空格)。

输入输出样例

输入#1

1315

输出#1

2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)

输入#2

1

输出#2

2(0)

数据范围

对于 100\%100% 的数据,1 \le n \le 2 \times {10}^41≤n≤2×104。

解题思路

看到这道题,大家的思路一般都是递归吧。

就是把n分成一个多项式。然后又把每一项的幂次再分成一个多项式,那么判定终止条件是什莫呢?我们在分解的时候只要n等于0了,就代表这一项不能再继续分解为多项式了,对于任意一项,它的幂次要么是0、1、2,1的话是可以省略的,所以最终的表达式就只有0和2了,所以我们在分解幂次的时候判定条件是他要大于2,我的代码里面i就代表这一项的幂次,i>2,分解i,<=2的时候就输出,输出时再判定一下i是否等于1,不等于就输出i,等于就直接下一项。在输出格式的时候也要注意i和n的大小,n等于0就代表这一个多项式分解到头了,结尾的时候不应该加上“+”,i=1的话,就代表1这个幂次要被省略,开头和结尾不应该带“()”,说的有点乱,总的就是把,系数和幂次都分解为多项式,多项式的规定就是幂次只能为0、1、2,1要省略,和格式要求,题不难,那就是要有耐心。

代码

import java.util.Scanner;public class 幂次方 {static int n;public static void main(String[] args) {Scanner sc=new Scanner(System.in);n=sc.nextInt();f(n);}private static void f(int n) {int m=1,i=0;while(mn) {i--;n-=(m/2);}else {n-=m;}if(i!=1) {System.out.print("2(");}else {System.out.print("2");}if(i>2) {f(i);}else {if(i!=1) {System.out.print(i);}}if(i!=1) {if(n!=0) {System.out.print(")+");}else {System.out.print(")");}}else {if(n!=0) System.out.print("+");}if(n>0) {f(n);}}}

相关内容

热门资讯

希音估值“打五折”上市,股东们... 希音估值已从巅峰时的1000亿美元,缩水至目前的400亿-500亿美元,跌幅约五成。©️懂财帝出品 ...
送出的对手名单再添一员,俞敏洪... 极目新闻评论员 吴双建8月2日,由孙东旭、明明、天权联合打造的直播间“美丽明天”迎来首播。直播开播后...
银鹭卷入“敲诈”风波,曾涉多起... 因为一个十分迷惑的赔偿操作,岁月静好的银鹭突然冲上热搜,引发网友对其“玩不起就要不要玩”的嘲讽……0...
中国储能出海抢接AI“电老虎”... 记者 王雅洁国内一家光储龙头企业派驻阿布扎比RTC(全天候)项目北区的工程主管江聪,最近半年都在和一...
补齐风险对冲最后一块“拼图”,... 本报(chinatimes.net.cn)记者李明会 北京报道8月3日,5年期人民币国债期货在港交所...
A股四大指数集体高开,算力硬件... A股四大指数集体高开,沪指涨0.18%,深成指涨0.93%,创业板指涨1.54%,科创综指涨1.09...
市值超四千亿元的药企股价涨停,... 8月4日早间,药明康德(603259.SH、02359.HK)A股盘中股价涨停,A股市值超过4200...
AI应用人气股再度涨停,7连板... 8月4日,AI应用板块反复走强,传智教育盘中再度涨停,走出7连板行情,截至发稿报10.66元/股。 ...
A股“股王”大涨 A股“股王”... 8月4日早盘盘中,算力产业链、半导体产业链反弹,光模块板块大涨。中际旭创、新易盛、天孚通信、源杰科技...
“工农中建”四大行均跌超3% ... 8月4日,银行板块盘中逆势下跌,“工农中建”四大行均跌超3%,青岛银行、厦门银行、 渝农商行、 青农...