首页 > 试题广场 >

扭蛋机

[编程题]扭蛋机
  • 热度指数:12320 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
22娘和33娘接到了小电视君的扭蛋任务:
一共有两台扭蛋机,编号分别为扭蛋机2号和扭蛋机3号,22娘使用扭蛋机2号,33娘使用扭蛋机3号。
扭蛋机都不需要投币,但有一项特殊能力:
扭蛋机2号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到2x+1个
扭蛋机3号:如果塞x(x范围为>=0整数)个扭蛋进去,然后就可以扭到2x+2个
22娘和33娘手中没有扭蛋,需要你帮她们设计一个方案,两人“轮流扭”(谁先开始不限,扭到的蛋可以交给对方使用),用“最少”的次数,使她们能够最后恰好扭到N个交给小电视君。

输入描述:
输入一个正整数,表示小电视君需要的N个扭蛋。


输出描述:
输出一个字符串,每个字符表示扭蛋机,字符只能包含"2"和"3"。
示例1

输入

10

输出

233

备注:
1<=N<=1e9
头像 laglangyue
发表于 2020-06-09 20:31:25
一步两步,此类问题都是斐波那契问题,从最后往前看,最后一步必定是2或3. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanne 展开全文
头像 阿尔可
发表于 2021-08-24 19:00:11
刚开始以为要用递归,后来又以为要用树的结构,最后想了想发现这道题并没有出的那么难;因为是2x+1或者2x+2,所以22娘扭蛋的结果是奇数,33娘扭蛋的结果是偶数;这样只要一步步倒推就可以了; import java.util.Scanner; public class Main { pu 展开全文
头像 Until_you
发表于 2022-08-16 19:41:18
#include<stdio.h> int main() {     int N,x=0,i=0;     int a[1024]={0};     scanf("%d",&N);     whil 展开全文
头像 acvv_khalil
发表于 2021-10-29 12:04:10
#include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int n; string res; cin & 展开全文
头像 Auto_SK
发表于 2021-09-02 15:01:27
从第 n 步向前走,当 n 为奇数时,上一步是“22娘”走的,2x + 1 = n,x = (n - 1) / 2;当 n 为偶数时,上一步是“33娘”走的,2x + 2 = n,x = (n - 2) / 2。 # 2x + 1 = n, x = (n - 1) / 2,上一步为奇数 # 2x + 展开全文
头像 Alanlyang
发表于 2022-01-12 19:32:20
22娘和33娘的初始x均为0,22娘产出为2x+1为奇数,33娘产出为2x+2为偶数,只要倒着递推即可 import sys def func(N): res = "" while(N != 0): if N%2 == 0: res = "3 展开全文
头像 白伟仝
发表于 2020-05-07 16:56:42
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int x = sc.nex 展开全文
头像 kurihada
发表于 2022-03-04 22:44:53
判断输入的数是奇数还是偶数就可以知道当前这个数是22还是33得到的 再反推回去,直到数等于0即可 import java.util.*; import java.io.*; public class Main{ public static void main(String[] args){ 展开全文
头像 c风x
发表于 2022-07-01 17:32:36
代码实现: import java.util.*; import java.io.*; public class Main{     public static void main(St 展开全文
头像 电商产品部-黄乐
发表于 2022-04-02 11:15:14
import java.util.List; import java.util.Scanner; public class Main { static List<String> rsList = new ArrayList<String>(); public 展开全文