代码拉取完成,页面将自动刷新
// Push expression factors onto the stack. For example...
//
// Input
//
// 2
// 3x + 2x + 1
//
// Output on stack
//
// [ 3 ]
// [ x^2 ]
// [ 2 ]
// [ x ]
// [ 1 ]
//
// but not necessarily in that order. Returns the number of factors.
#include "stdafx.h"
#include "defs.h"
// Local U *p is OK here because no functional path to garbage collector.
int
factors(U *p)
{
int h = tos;
if (car(p) == symbol(ADD)) {
p = cdr(p);
while (iscons(p)) {
push_term_factors(car(p));
p = cdr(p);
}
} else
push_term_factors(p);
return tos - h;
}
// Local U *p is OK here because no functional path to garbage collector.
void
push_term_factors(U *p)
{
if (car(p) == symbol(MULTIPLY)) {
p = cdr(p);
while (iscons(p)) {
push(car(p));
p = cdr(p);
}
} else
push(p);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。