你很高兴,因为你进入了下一轮非常重要的编程竞赛。你希望你最好的朋友知道你有多开心。因此,你要给他发送很多笑脸表情符号。给你一个int微笑:你要发送的表情符号的确切数量。
您已在聊天中输入了一个表情符号。然后,你意识到打字很慢。相反,您将使用复制,粘贴以及可能的一些删除来生成剩余的表情符号。
您只能执行三种不同的操作:
每个操作只需一秒钟。复制将替换剪贴板的旧内容。粘贴不会清空剪贴板。您不能仅复制已有的表情符号的一部分。您不能从剪贴板中删除表情符号。
返回可以将一个初始表情符号转换为笑脸表情符号的最小秒数。
如何找到此问题的递归关系?
答案 0 :(得分:0)
使用此代码并根据此程序的输出添加秒数。无限循环的错误可能会纠正它。
/* Input : 95 Output : 64,16,8,4,2,1
Input : 69 Output : 64,4,1
Input : 277 Output : 256,16,4,1
Input : 4 Output : 4
Input : 1 Output : 1
Input : 1042 Output : 1024,16,2
*/
import java.util.Scanner;
class Emotions
{
public static void main(String args[])
{
Scanner a = new Scanner(System.in);
System.out.print("Enter no. of Emotions : ");
int emo = a.nextInt();
value(emo);
}
public static void value(int x)
{
int emo = x;
int n = 1;
do {
n = n * 2;
}while(emo > n);
n = n/2;
System.out.println(n);
while((emo - n) != 1)
{
value(emo-n);
}
}
}