大佬救命,跪求解题思路或代码
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
我也考虑用数组[哈哈]
2023年08月25日 12点08分
level 3
暴力打表。或者第一位每变一下需要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
参考进制,用多数组实现
2023年08月27日 08点08分
level 1
请原谅我看不懂题目,这个四位数本身是什么,应该是四个分开的数字,还是一个十进制的四位数,然后求的又是什么,那些几进制只是约束这个四位数的十进制每位最大到多少,还是这根本不是个10进制的四位数?
2023年08月27日 17点08分 7
看一下9楼的跟帖,他算出来的是对的
2023年08月28日 00点08分
level 13
第一位 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
递归
2023年08月28日 00点08分
level 6
意思求某个数在这种进制下的这种进制表示吗,不就是在正常转换进制的基础上,把每次取余改成2345,比如11表示0120。还说我理解错了[疑问]
2023年08月27日 18点08分 9
一点没错,但是算法呢,代码呢[喷]
2023年08月28日 00点08分
level 7
可以用递归试一下。
2023年08月28日 00点08分 10
level 7
感觉这就是个考递归的
2023年08月28日 00点08分 11
level 1
看不懂 我今年高二
2023年08月28日 01点08分 13
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
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 尾页