【发布时间】:2016-09-13 11:00:43
【问题描述】:
我被要求在 c 中编写一个 void 函数(无循环),它得到一个偶数(比如说 80),并像这样打印它 2*2*5*2*2 如您所见,结果是 80 大声笑。 在 2 个数字之间,您需要打印“*”,而奇数(例如,5)则需要在中间打印,或者如果数字中有奇数“2”,假设您是 96需要这样打印:2*2*2*3*2*2 如果给定的数字是奇数,则返回该数字。 我不仅想得到答案,还想在开始编码之前得到你“思考”的方式。 这是我到目前为止得到的结果
if(n%4==0)
{
printf("2*");
PrintTwos(n/4);
return;
}
if(n%2==0)
{
printf("*2");
PrintTwos(n/2);
return;
}
printf("%d",n);
【问题讨论】:
-
你会怎么做(用笔和纸)?到目前为止,您尝试编写什么代码?
-
显示一些代码!
-
首先,考虑一个停止条件。假设这个数字是奇数。但我的主要问题是了解如何以奇数因子(5,对不起,如果这不是正确的词)出现在中间而不是在中间的方式打印我的数字结束
-
就我can see 而言,您并没有走得太远。这段代码甚至不是一个函数!
标签: c recursion factorization