【发布时间】:2011-02-13 14:46:55
【问题描述】:
我尝试简化条件:
for ( int t=0, size=fo.getPrintViewsPerFile().size();
t<size && t<countPerFile;
t++)
{
// ...
}
,更准确地说:
t<s && t<c
您需要比较两次,然后从中计算布尔值。有没有更简单的方法来做到这一点?如果不是,你怎么证明?我可以在某种程度上简化它,proof tree.
[已添加]
我尝试通过逻辑直接解决问题。看看选择最小值的含义会很有趣。链接:
http://www.umsu.de/logik/trees/?f=(\exists%20s%20\exists%20c%20\forall%20t%20%20(Pts%20\land%20Ptc))\leftrightarrow\neg(\foralls\forallc\existst(\否定(Pts)\lor\neg(Ptc)))
【问题讨论】:
-
一两个星期前问过完全相同的问题。实际上,经常。我只是找不到它:) 答案至少可以归结为“不,忍受它”。有一些方法可以让它更短/不同,但不会更快。
-
@HH:您证明的公式只是量化了德摩根定律 (en.wikipedia.org/wiki/De_Morgan%27s_laws)
-
BalusC:注意到某些重复性:stackoverflow.com/questions/2316084/…。显然,有些事情是永恒的:)
标签: java math for-loop conditional predicate