大佬救命,跪求解题思路或代码
java吧
全部回复
仅看楼主
level 12
七年而已5
楼主
2023年08月25日 10点08分
1
level 12
七年而已5
楼主
2023年08月25日 10点08分
2
level 1
咸鱼吹水🌺
直接拿数组/联合体搓一个不就了么
2023年08月25日 11点08分
3
七年而已5
我也考虑用数组
2023年08月25日 12点08分
level 3
acd87
暴力打表。或者第一位每变一下需要24 第二位需要6 第三位需要2 然后逐层去算余数
2023年08月25日 11点08分
4
level 12
七年而已5
楼主
2023年08月27日 05点08分
5
level 6
绝命鼠鼠
转换成字符串然后拆成单个的一个一个加一起?能实现但是太蠢了,有更好的实现方法麻烦戳我一下,谢谢。
2023年08月27日 05点08分
6
七年而已5
参考进制,用多数组实现
2023年08月27日 08点08分
level 1
shuisen水森
请原谅我看不懂题目,这个四位数本身是什么,应该是四个分开的数字,还是一个十进制的四位数,然后求的又是什么,那些几进制只是约束这个四位数的十进制每位最大到多少,还是这根本不是个10进制的四位数?
2023年08月27日 17点08分
7
七年而已5
看一下9楼的跟帖,他算出来的是对的
2023年08月28日 00点08分
level 13
贴吧用户_02tt35X
第一位 n/(4*3*2)
第二位(n%(4*3*2))/(3*2)
第三位((n%(4*3*2))%(3*2))/2
第四位((n%(4*3*2))%(3*2))%2
2023年08月27日 18点08分
8
七年而已5
递归
2023年08月28日 00点08分
level 6
康斯坦丁😇
意思求某个数在这种进制下的这种进制表示吗,不就是在正常转换进制的基础上,把每次取余改成2345,比如11表示0120。还说我理解错了
2023年08月27日 18点08分
9
七年而已5
一点没错,但是算法呢,代码呢
2023年08月28日 00点08分
level 7
我带你们打♤◎
可以用递归试一下。
2023年08月28日 00点08分
10
level 7
我带你们打♤◎
感觉这就是个考递归的
2023年08月28日 00点08分
11
level 1
贴吧用户_JQND58A880
看不懂 我今年高二
2023年08月28日 01点08分
13
七年而已5
12楼有代码,可以参考他的思路,不过取第N个他这个得把前面的都算出来,非最优解
2023年08月28日 02点08分
level 6
康斯坦丁😇
2023年08月28日 03点08分
14
level 7
我要玩亚索😫
第N个数不是等于N-1嘛,那你直接通过这种进制把他的余数和商取出来拼接不就好了
2023年08月28日 03点08分
15
level 9
i1单机
8楼基本是对的,直接算就可以了,我解释一下,第一位的值的权重是4*3*2,比如10000的n应该是4*3*2=24,因为没有第0个,所以还得+1(这个是8楼没考虑的地方),即10000对应的n是25。
那么第一位的取值应该是 (n-1)÷(4*3*2)的商a,余数放到后三位计算;
剩余n1 = n - a*4*3*2;
同理计算第二位应该是 (n1-1)÷ (3*2)的商b,
依次计算出四个数字。
/整除
第一位 (n-1)/(4*3*2)
第二位((n-1)%(4*3*2))/(3*2)
第三位(((n-1)%(4*3*2))%(3*2))/2
第四位(((n-1)%(4*3*2))%(3*2))%2
举例n=26,结果应该是1001,
25 / 24 = 1 余下 1
1 / 6 = 0 余下 1
1 / 2 = 0 余下 1
结果就是1001,复杂度o(1)
2023年08月28日 09点08分
16
1
2
尾页