由买买提看人间百态

topics

全部话题 - 话题: operand
1 2 3 4 下页 末页 (共4页)
d**********o
发帖数: 1321
1
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3 & hw3b 最终结果
贴一个自己 hw3b 的 match 结果让小伙伴们感受一下我们作业需要的结果是什么样子
的。
如果是同专业的小伙伴,最后拷贝到编辑器中仔细看一下,这个网页因为宽度有限,让
并排两列的比较呈现出来的很变形。
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
makefile
scanType.h
symtab.h
symtab.c
20131116163236-(me~~)-CS445-F13-A3B.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
... 阅读全帖
d**********o
发帖数: 1321
2
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3b deadline前版本
这里我也先公开承认一下自己早前犯过的错误,在这个楼的第 14 页、第 265 楼,我
有贴出自己的hw3b,但现在我必须向亲爱的读者一一您公开道歉。因为当时因为着急,
我没能找到hw3b deadline前的版本,就把这次作业后来的最终版本(也就是那个楼贴
出来的,只剩下ReturnK、CompoundK两条小尾巴的版本,那个版本被我改动了时间戳我
现在已经把它改回来了。相比于急于求成绩,我更希望自己作一个诚实的人,希望大家
能原谅)给贴出来了。因为我们作业deadline之后也还都是可以接着交的,所以任何作
业,老师都是可以根据后来的版本,追终到这个学生的最后进展的,这个最新进展老师
到底给不给分、就要看老师如何下决定了。
deadline前的版本,被我附在下面了。
当然,把自己的这个版本更新后,我愿为这个楼(这一次出来写的所有)属于自己的每
个贴子负责,所有写出来的,都是真实发生过的事。
=================================================
Output of Building User Code
Ex... 阅读全帖
d**********o
发帖数: 1321
3
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3 & hw3b 最终结果
贴一个自己 hw3b 的 match 结果让小伙伴们感受一下我们作业需要的结果是什么样子
的。
如果是同专业的小伙伴,最后拷贝到编辑器中仔细看一下,这个网页因为宽度有限,让
并排两列的比较呈现出来的很变形。
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
makefile
scanType.h
symtab.h
symtab.c
20131123233236-(me~~)-CS445-F13-A3B.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
... 阅读全帖
d**********o
发帖数: 1321
4
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3b deadline前版本
这里我也先公开承认一下自己早前犯过的错误,在这个楼的第 14 页、第 265 楼,我
有贴出自己的hw3b,但现在我必须向亲爱的读者一一您公开道歉。因为当时因为着急,
我没能找到hw3b deadline前的版本,就把这次作业后来的最终版本(也就是那个楼贴
出来的,只剩下ReturnK、CompoundK两条小尾巴的版本,那个版本被我改动了时间戳我
现在已经把它改回来了。相比于急于求成绩,我更希望自己作一个诚实的人,希望大家
能原谅)给贴出来了。因为我们作业deadline之后也还都是可以接着交的,所以任何作
业,老师都是可以根据后来的版本,追终到这个学生的最后进展的,这个最新进展老师
到底给不给分、就要看老师如何下决定了。
deadline前的版本,被我附在下面了。
当然,把自己的这个版本更新后,我愿为这个楼(这一次出来写的所有)属于自己的每
个贴子负责,所有写出来的,都是真实发生过的事。
=================================================
Output of Building User Code
Ex... 阅读全帖
d**********o
发帖数: 1321
5
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
最终版本的compiler测试结果
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
scanType.h
makefile
symtab.h
symtab.cpp
emitCode.h
emitCode.cpp
20131214164956-huang-CS445-F13-A5.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
emitCode.cpp: ASCII C++ program text
emitCode.h: ... 阅读全帖
d**********o
发帖数: 1321
6
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
最终版本的compiler测试结果
=================================================
Output of Building User Code
Explode the tar
c-.l
c-.y
scanType.h
makefile
symtab.h
symtab.cpp
emitCode.h
emitCode.cpp
20131214164956-huang-CS445-F13-A5.tar: POSIX tar archive (GNU)
Tests: directory
c-.l: lex description text
c-.y: lex description text
emitCode.cpp: ASCII C++ program text
emitCode.h: ... 阅读全帖
d**********o
发帖数: 1321
7
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖
d**********o
发帖数: 1321
8
来自主题: WebRadio版 - 潜水员冒泡兼征版友意见
hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖
j*****y
发帖数: 1071
9
int value(int a, int b, char c)
{
if(c == '+') return a + b;
if(c == '-') return a - b;
if(c == '*') return a * b;
if(c == '/') return a / b;
}
int expression(vector s)
{
if(s.size() == 0)
{
return 0;
}
stack operand;
stack operator;
operand.push(atoi(s.c_str()));
for(int i = 0; i < input.size(); ++i)
{
if(isnumber(s[i][0]))
{
operand.push(atoi(s[i].c_str()));
}
... 阅读全帖
j*****y
发帖数: 1071
10
int value(int a, int b, char c)
{
if(c == '+') return a + b;
if(c == '-') return a - b;
if(c == '*') return a * b;
if(c == '/') return a / b;
}
int expression(vector s)
{
if(s.size() == 0)
{
return 0;
}
stack operand;
stack operators;
operand.push(atoi(s[0].c_str()));
for(int i = 1; i < s.size(); ++i)
{
if(isdigit(s[i][0]))
{
operand.push(atoi(s[i].c_str()));
}
... 阅读全帖
b*****u
发帖数: 648
11
试着写了一个递归的
思路: 每个recursion的开始有一个factor,一个当前operand和一个之前乘/除号
首先把operand = operand 乘除 factor
然后,如果下一符号是加减,则返回 operand 加减下一recursion(factor=1, 乘)
如果下一符号是乘除,则返回下一recursion (factor=当前operand, 下一符号)
(on a second thought, 这个其实也就是实现了一个stack的功能,递归即stack)
#include "stdafx.h"
#include
#include
#include
using namespace std;
int stringCalculator(string input, int factor, char sign)
{
int len = input.length();
if (len == 0) return 0;
int i = 0;
while (i< len && inp... 阅读全帖
b*****u
发帖数: 648
12
试着写了一个递归的
思路: 每个recursion的开始有一个factor,一个当前operand和一个之前乘/除号
首先把operand = operand 乘除 factor
然后,如果下一符号是加减,则返回 operand 加减下一recursion(factor=1, 乘)
如果下一符号是乘除,则返回下一recursion (factor=当前operand, 下一符号)
(on a second thought, 这个其实也就是实现了一个stack的功能,递归即stack)
#include "stdafx.h"
#include
#include
#include
using namespace std;
int stringCalculator(string input, int factor, char sign)
{
int len = input.length();
if (len == 0) return 0;
int i = 0;
while (i< len && inp... 阅读全帖
j*****8
发帖数: 3635
13
来自主题: JobHunting版 - 讨论下lc最新的那道hard题吧
题目如下:
Given a string that contains only digits 0-9 and a target value, return all
possibilities to add binary operators (not unary) +, -, or * between the
digits so they evaluate to the target value.
给的几个例子:
"123", 6 -> ["1+2+3", "1*2*3"]
"232", 8 -> ["2*3+2", "2+3*2"]
"105", 5 -> ["1*0+5","10-5"]
"00", 0 -> ["0+0", "0-0", "0*0"]
"3456237490", 9191 -> []
下面是我的java code,有个test case一直超时,求大牛指点优化。我的思路很简单,
先生成所有可能的计算式,然后对每个计算式求值与target比较。
public List addOperators(String num, int target) {
... 阅读全帖
D***n
发帖数: 6804
14
这我就不懂了,C语言标准里不是这么说的:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
6.5.15 Conditional operator
Semantics 4
The first operand is evaluated; there is a sequence point between its
evaluation and the evaluation of the second or third operand (whichever is
evaluated). The second operand is evaluated only if the first compares
unequal to 0; the third operand is evaluated only if the first compares
equal to 0;
第二、第三个operand是否被evaluated取决于第一个operand,就是?之前的值。所以子
表达式按照标准只应该被evaluate一个。
I**********s
发帖数: 441
15
最喜欢 wwwyhx的解法: recursive descent.
我也写了个, 用的是建造AST, 再evaluate AST. 应该相当完整了: 数字之前可以有+-
号, 中间可以有一个小数点. 数字和运算符号之间可以有空格. 可以使用+,-,*,/,^,以
及括号. 可以检测错误输入并报出错误位置. 就是比较长, 不适合面试用. 供大家参考.
#include
#include // for pow()
using namespace std;
struct Node {
double val;
char op;
int op_prec; // precedence of operator
int type; // 0 - operand, 1 - operator
Node * left;
Node * right;
Node(double _val, char _op, int _type) : val(_val), op(_op),
type(_type), lef... 阅读全帖
I**********s
发帖数: 441
16
最喜欢 wwwyhx的解法: recursive descent.
我也写了个, 用的是建造AST, 再evaluate AST. 应该相当完整了: 数字之前可以有+-
号, 中间可以有一个小数点. 数字和运算符号之间可以有空格. 可以使用+,-,*,/,^,以
及括号. 可以检测错误输入并报出错误位置. 就是比较长, 不适合面试用. 供大家参考.
#include
#include // for pow()
using namespace std;
struct Node {
double val;
char op;
int op_prec; // precedence of operator
int type; // 0 - operand, 1 - operator
Node * left;
Node * right;
Node(double _val, char _op, int _type) : val(_val), op(_op),
type(_type), lef... 阅读全帖
n*****g
发帖数: 16
17
来自主题: JobHunting版 - F面经
My version for C#.
static bool IsValidExpression(string expression)
{
Stack stackOperator = new Stack();
Stack stackOperand = new Stack();
int length = expression.Length;
int i;
char opr;
for (i = 0; i < length; ++i)
{
if (expression[i] == '(' || expression[i] == '+' ||
expression[i] == '-' || expression[i] == '*' || expression[i] == '/')
{
... 阅读全帖
n*****g
发帖数: 16
18
来自主题: JobHunting版 - F面经
My version for C#.
static bool IsValidExpression(string expression)
{
Stack stackOperator = new Stack();
Stack stackOperand = new Stack();
int length = expression.Length;
int i;
char opr;
for (i = 0; i < length; ++i)
{
if (expression[i] == '(' || expression[i] == '+' ||
expression[i] == '-' || expression[i] == '*' || expression[i] == '/')
{
... 阅读全帖
l***i
发帖数: 1309
19
来自主题: JobHunting版 - 问一道fb的面试题目
use two stack, one for operands and one for operator.
when you have a new operand, push into stack.
when you have a new operator, pop operator and operands already in stack,
eval, and push result into operand stack. Keep pop and eval until the
operator at top of stack is of lower precedence. In the end, pop and eval
until stack is empty. The result of expr is in operand stack
s******e
发帖数: 493
20
if so, even dynamic functions are not enough. Dynamic functions are not real
dynamic, you still need to code them in your code base.
what you need is either using db or xml file or any format file to act as a
configuration file, treating your first name as operand one, and last name
as operand two (if you are sure that you will only have two operands, and
they will be stored in columns that you know ahead. Otherwise if even the
operands are unknown at compilation time, it will be way too compli
p**o
发帖数: 3409
21
来自主题: Programming版 - 简易计算器优先计算级别怎么算?

You may define the precedence levels for operators. E.g.,
precedence = {
'(': 0, ')': 0,
'+': 1, '-': 1,
'*': 2, '/': 2, '//': 2, '%': 2,
'^': 3, '**': 3,
}
operators = set(precedence.iterkeys())
right_associative_ops = {'^', '**',}
def infix_to_postlist (infix):
""" Simplified Shunting-yard algorithm. E.g.,
30 + 4 * 2 / ( 1 - 5 ) ^ 2 ^ 3
<==> 30 + ((4 * 2) / ((1 - 5) ^ (2 ^ 3)))
<==> 30 4 2 * 1 5 - 2 3 ^ ^ / +
"""
postlist = []
opstack = ... 阅读全帖
A***l
发帖数: 302
22
来自主题: Quant版 - 问个简单的C++问题
the second operand of && is evaluated only if its first operand is true, and
the second operand of || is evaluated only if its first operand is false; t
his is sometimes called short-circuit evaluation.

应该要拆成两句吗?
第二个条件了?
b******7
发帖数: 79
23
来自主题: JobHunting版 - 一道题,我觉得挺难
其实常见,好象没见过好解。
Write a program to evaluate a simple mathematical expression like 4 + 2*a/b
– 3
基本idea就是要用stack来记录原来的operand, 然后新的operand和在stack上的
operand进行比较。可能要计算中间值(一旦precedence确定),然后再push 进stack.
但是具体怎么操作觉得没想明白,哪位大写指点一下??多谢!!
Y********6
发帖数: 28
24
【 以下文字转载自 Computation 讨论区 】
发信人: Yolanda886 (Yolanda886), 信区: Computation
标 题: 准备100个包子求大神帮下忙
发信站: BBS 未名空间站 (Tue Feb 26 10:02:58 2013, 美东)
马上去找人买100个包子,求哪位大神能赐教帮忙提点一下怎么写下面这个project,谢
谢啦
不好意思,学了几节课又不知道怎么入手了。。想了一周实在不知道怎么写出来,不知
道怎么一个个调取然后分析,感觉很多变量和变化情况,直接写code好像太复杂了
题目是
In reverse Polish notation the operators follow their operands;
To add 3 and 4, one would write "3 4 +" rather than "3 + 4".
If there are multiple operations, the operator is given immediately after
its second operand
The expressi... 阅读全帖
t****t
发帖数: 6806
25
来自主题: Programming版 - C++隐式类型转换的规则?
9 Many binary operators that expect operands of arithmetic or enumera-
tion type cause conversions and yield result types in a similar way.
The purpose is to yield a common type, which is also the type of the
result. This pattern is called the usual arithmetic conversions,
which are defined as follows:
--If either operand is of type long double, the other shall be con-
verted to long double.
--Otherwise, if either operand is double, the other shall be converted
t****t
发帖数: 6806
26
来自主题: Programming版 - 0 < -1 ? A c++ question
9 Many binary operators that expect operands of arithmetic or enumera-
tion type cause conversions and yield result types in a similar way.
The purpose is to yield a common type, which is also the type of the
result. This pattern is called the usual arithmetic conversions,
which are defined as follows:
--If either operand is of type long double, the other shall be con-
verted to long double.
--Otherwise, if either operand is double, the other shall be converted
a***y
发帖数: 2803
27
来自主题: Programming版 - member and friend
const A operator+(const A & a){}
的left operand不是const.
friend const A operator +(const A &a, const A & b){}
的left operand是const.
------------------------------------------------------
A a(1);
a + 1;
这个a不是一个const A,因为它本身的值可以变化,a.i可以从1变成2.所以compiler只会
用const A operator+(const A & a){}.
这个case不存在2个函数哪个优先用的問題.这个case的本质是left operand是不是const.
========================================
把main函数里的A a(1);变成const A a(1);编译,你会发现结果成了friend
int main(){
const A a(1);
a + 1;
}

class A{
... 阅读全帖
h**********c
发帖数: 4120
28
I remember it is OS class stuff or something call hardware system or system
hardware comp 229, this seems to relate to CPU design.
Each tick of CPU for example, take one operand, take one operator.
++i take one operand, one operator.
i++ take two operands, one operator, thus take one more tick.
Not sure. in fact I always write i++ cause c++.
k**********g
发帖数: 989
29
来自主题: Programming版 - int 和 unsigned int 比大小会出问题 c++

Firstly, signed and unsigned int have a "common interval".
From zero to INT_MAX (0 .. 2147483647)
When both operands are within this common interval, comparison result will
be correct regardless of each operand's type, and/or the coercion rule.
Therefore, one only needs to check that each operand's value is within this
common interval (prior to coercion). This is how the machine code is
typically generated in languages that have integer range checking.
It is very simple to test this. Just test ... 阅读全帖
k**********g
发帖数: 989
30
来自主题: Programming版 - int 和 unsigned int 比大小会出问题 c++

Firstly, signed and unsigned int have a "common interval".
From zero to INT_MAX (0 .. 2147483647)
When both operands are within this common interval, comparison result will
be correct regardless of each operand's type, and/or the coercion rule.
Therefore, one only needs to check that each operand's value is within this
common interval (prior to coercion). This is how the machine code is
typically generated in languages that have integer range checking.
It is very simple to test this. Just test ... 阅读全帖
Y********6
发帖数: 28
31
马上去找人买100个包子,求哪位大神能赐教帮忙提点一下怎么写下面这个project,谢
谢啦
不好意思,学了几节课又不知道怎么入手了。。想了一周实在不知道怎么写出来,不知
道怎么一个个调取然后分析,感觉很多变量和变化情况,直接写code好像太复杂了
题目是
In reverse Polish notation the operators follow their operands;
To add 3 and 4, one would write "3 4 +" rather than "3 + 4".
If there are multiple operations, the operator is given immediately after
its second operand
The expression written "3 − 4 + 5” would be written "3 4 − 5 +"
in RPN: first subtract 4 from 3, then add 5 to that
An advantage of RPN is th... 阅读全帖
j********x
发帖数: 2330
32
来自主题: JobHunting版 - c++ 问题
The exceptions to this rule are when the array identifier is an
operand of either the sizeof or address-of (&) operators. When the
array is an operand of the & operator, the result is of type "pointer
to N-element array of T", or T (*a)[N], and its value is the address
of the base of the array, which is the same as the address of the
first element of the array.
S**I
发帖数: 15689
33
☆─────────────────────────────────────☆
princekim (Prince Kim) 于 (Wed Apr 11 09:32:26 2012, 美东) 提到:
BT树结构, 中间节点是算数运算符(只有+ - * / 4种操作), 叶节点是数字, 要求给出
算数表达式 (要求没有冗余括号)
比如
*
/ \
+ *
/ \ / \
1 2 4 5

表达式 = (1 + 2) * 4 * 5, 不能是 (1+2)*(4*5)
+
/ \
* +
/ \ / \
1 2 4 5
表达式 = 1 * 2 + 4 + 5, 不能是 1 * 2 + (4 + 5)
总之, 这题的难点是 算数表达式不能有冗余括号
我当时的思路: in-order 递归遍历, 遇到 + - 给出左右括号 (但这样就有冗余括号).
面试官指出后, 我说我可以再扫描遍得到的表达式,去除冗余括号 (这也是我情急下
蒙的).
他说不行, ... 阅读全帖
s***n
发帖数: 57
34
来自主题: JobHunting版 - 面试题: Amazon, LinkedIn and Twitter
Amazon:
Phone interview:
1. print out node of a graph (graph travesal).
2. OOD: design the online shopping cart; open ended question
3. There is a Web service which access DB server has performance issue; how
to identify the issue.
Onsite:
*. compute cubic root of float X;
*. Two sum.
*. check whether two input trees are mirror to each other.
*. check whether a binary tree is a BST.
*. design OOD for zoo, including cage and animals.
*. Google gmail server location question; why it is still fast ... 阅读全帖
J****3
发帖数: 427
35
攒人品
From MITBBS:
1. 给一个二叉树 返回镜像 (Binary Tree Mirror)
2. Implement a thread-safe blocking queue.
3. 一个嵌套Map, 就是一个HashMap, 它的value可以是一个element也可以是另外一个
嵌套map或是空的map. 实现一个iterator来遍历这个map里面的所有element。 就是类
似树遍历一样的方法
4. 给你一个数组,其中一个数出现了大于N/3次,N是数组长度。怎么找?我先说
HASHTABLE,他问我还有没有什么办法。想来想去只能SORT. 他就问下一题了。不知道
还有没有什么最优解。我觉得那种针对一个数字出现过大于N/2的VOTING ALGORITHM
好象不是很合适吧。
5.后缀波兰表达式STRING转换为中缀表达式的STRING。
这题本来很简单,但我可能算错了。纠结的地方是a,b,+,c,/
到底是 (c/(a+b)) 还是 ((a+b)/c)
6. Implement pow(double a, int b)

7. 接着给Amazon的favori... 阅读全帖
U***A
发帖数: 849
36
来自主题: JobHunting版 - zenefits店面 -已挂了
// An "expression" is either a number, or a list (AKA vector/array) with the
first element one of '+', '-', '*', '/' , and then other expressions. Write
a function "evaluate" that gets an expression and returns its value.
// ['+', 1, 2] --> 3
// ['*', 3, ['+', 1, 10]] --> 33
// ['+', 1000, 1200] --> 2200
// ['/', 6, ['+', 1, ['*', 1, 1]]] --> 3
// ['+', 1, 2, 3] --> 6
// ['+', ['*', 1, 2], 3] --> 5
// Assume - / -- only take two operands
// + * take any number of operands
// ['*', 0, 5] --> 0
//... 阅读全帖
d****j
发帖数: 42
37
来自主题: JobHunting版 - zenefits店面 -已挂了
pattern matching + recursive functions
// written in Elixir
defmodule AST do
def evaluate([operator | operands]) do
values = Enum.map(operands, fn op -> evaluate_operand(op) end)
case operator do
'+' -> Enum.sum(values)
'-' -> Enum.reduce(values, fn value, acc -> acc - value end)
'*' -> Enum.reduce(values, fn value, acc -> acc * value end)
'/' -> Enum.reduce(values, fn value, acc -> acc / value end)
end
end
defp evaluate_operand(op) when is_integer(op) d... 阅读全帖
t*******r
发帖数: 22634
38
这个代码当然没法 work,我不是说 “伪 yacc” 不是真 yacc 么?
但是真 yacc 就可以 work,你要做到下面两点:
(1)所有的东东,不是 operand 就是 operator。最最基本的 operand
要定义成 token 样的东东。
(2)写成 LR 文法。
那样 Yacc 就可以 shift-reduce 跑得欢乐。。。你可以拼命扔随机的 set 给
yacc,yacc 很欢乐得 shift-reduce,最后告诉你是不是
set-of-smallest_n_primes (return value is "true" or "false").
t******n
发帖数: 2939
39
☆─────────────────────────────────────☆
l63 (l63) 于 (Thu May 23 00:34:22 2013, 美东) 提到:
假设素数只有有限个, 记为 p_1,p_2,...,p_k
考察 N = p_1*p_2*...*p_k + 1
可知: 对于任意i = 1,2,3,...,k, p_i 不能整除 N
由素数的定义:
a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除
可知: N是素数
这与素数只有p_1,p_2,...,p_k矛盾.
故假设不成立.
所以素数有无穷多个.
☆─────────────────────────────────────☆
l63 (l63) 于 (Thu May 23 00:37:03 2013, 美东) 提到:
在承认素数的这个等价定义 (即 a是素数 <=> a是大于1的自然数, 且a不被任何小于a
的素数整除) 的前提下, 居然有人会认为这个证明是错的, 或者是不完备的.
我实在不能理解.
求问一下大家, 是不是有的人的脑子天生有缺陷, 根本怎么教都不会明白... 阅读全帖
k***g
发帖数: 7244
40
http://www.kzeng.info/drupal/node/640
呵呵,看到Reader Goup里面不少人问,说一下几个不同问题的解决方案。
1.如果你在使用Acrobat 7.0 Pro或是6.0 Pro,默认安装方式是不安装Asian Fonts
Support的,插入你的安装光盘,选择modification,找到Asian Fonts Support,点击安
装,就可以解决一些文件缺少中文字体支持的问题。
2.关于reading group中的“家庭藏书”系列,由于他们是用非正式的PDF Producer创建
的PDF,所以就存在一个高版本的兼容问题(因为没有使用Adobe的统一标准),正式的PD
F文件都是与Acrobat提供的 PDF Distiller创建的,Distiller6.0和7.0创建的PDF版本都
是1.4,而“藏书”系列是用S22PDF创建,PDF版本是1.2,所以用Acrobat 7.0打开后会出
现 wrong operand type 错误,并且正文无法显示,但是在Acrobat 6.0中,虽然也会出
现 wrong operand typ
e******r
发帖数: 623
41
【 以下文字转载自 Programming 讨论区 】
发信人: explorer (球风华丽作风硬朗,唯一缺点:太像梅西!), 信区: Programming
标 题: 问几句汇编指令(assembly language)
发信站: BBS 未名空间站 (Tue Apr 20 23:46:02 2010, 美东)
在看一个callout的程序,有几句实在看不懂,请高人指点一下:
1. mov ip, #0x000000FF
orr ip, ip, #0x0000FF00
orr ip, ip, #0x00FF0000
orr ip, ip, #0xFF000000
这几句是在做什么?是把"0xFFFFFFFF"赋值给ip吗?为什么不能直接写成 mov ip, #
0xFFFFFFFF?
2. tst r1, r2, lsl r4
r1, r2和r4是寄存器,但是tst怎么有三个operands?
3. mov r2, r2, lsl r4
基本同上,怎么mov会有三个operands?这句指令是什么意思?
谢谢了,能提供答案的我会发包子
f******l
发帖数: 26
42
来自主题: DotNet版 - Question: "-" operators: z= -x; z = x-y

found this: one operand or 2 operands will make the difference.
z= -x:
public operator-(Complex opr1)
{
return new Complex(-opr1.real, -opr1.imag);
}
public operator-(Complex opr1, Complex opr2)
{
return new Complex(opr1.real-opr2.real, opr1.imag-opr2.imag);
}
k**f
发帖数: 372
43
来自主题: Programming版 - overriding operator<<

No, because when you do so, the left hand side operand is the object. In the
case of operator<<, the lhs operand is the ostream.
On the other hand, it can be implemented as a non-friend free standing
function, if the output operation do not need to use the private or
protected data members or functions.
Example:
class foo {
private:
int m;
public:
foo(int n)
int value() const { return m; }
};
ostream& operator<<(ostream& os, const foo& f)
{
return os << f.value();
}
t****t
发帖数: 6806
44
来自主题: Programming版 - 汇编的mov指令
我想提问者的意思是, 为什么x86的汇编指令不能使用两个memory operand
两个memory operand不好encode instruction, 因为所有的指令都是最多一个memory o
perand(好象是这样).
后期指令集扩展时, x86用了很多RISC的思想, 鼓励把load/save和operation分开, 这样
就更没必要把load和save放一块儿了

"
X****r
发帖数: 3557
45
For (1), strictly speaking, the behavior of the code is undefined,
although in practice leaking memory is most likely outcome.
See 5.3.5 [expr.delete]
3 In the first alternative (delete object), if the static type of the
operand is different from its dynamic type, the static type shall be a
base class of the operand's dynamic type and the static type shall
have a virtual destructor or the behavior is undefined.
e******r
发帖数: 623
46
来自主题: Programming版 - 问几句汇编指令(assembly language)
在看一个callout的程序,有几句实在看不懂,请高人指点一下:
1. mov ip, #0x000000FF
orr ip, ip, #0x0000FF00
orr ip, ip, #0x00FF0000
orr ip, ip, #0xFF000000
这几句是在做什么?是把"0xFFFFFFFF"赋值给ip吗?为什么不能直接写成 mov ip, #
0xFFFFFFFF?
2. tst r1, r2, lsl r4
r1, r2和r4是寄存器,但是tst怎么有三个operands?
3. mov r2, r2, lsl r4
基本同上,怎么mov会有三个operands?这句指令是什么意思?
谢谢了,能提供答案的我会发包子
t****t
发帖数: 6806
47
来自主题: Programming版 - 问几句汇编指令(assembly language)
all ur questions gets down to the "flexible operand 2" in ARM instructions
1. immediate values are 8bit long with optional shift. so it's really:
mov ip, #ff;
orr ip, ip, #ff lsl #8;
orr ip, ip, #ff lsl #16;
orr ip, ip, #ff lsl #24;
2. in "tst r1, r2, lsl r4", "r2, lsl r4" is the operand 2, meaning r2*2^r4
3. same as 2
d****p
发帖数: 685
48
来自主题: Programming版 - 问个函数指针指向操作符的问题
Thanks - your summary is really good.
I especially like your highlighting function call operator() - that clearly
shows function is an operand of (the) operator.
operator and operand are of course different.
X****r
发帖数: 3557
49
来自主题: Programming版 - 问个无厘头问题
Because strictly speaking the result is undefined, per 5.3.5
3 In the first alternative (delete object), if the static type
of the operand is different from its dynamic type, the static
type shall be a base class of the operand's dynamic type
and the static type shall have a virtual destructor or the
behavior is undefined. In the second alternative (delete array)
if the dynamic type of the object to be deleted differs from
its static type, the behavior is undefined.
And this tri... 阅读全帖
r*******y
发帖数: 1081
50
来自主题: Programming版 - string operator +
string library defines these overloaded operator +
string operator+ (const string& lhs, const string& rhs);
string operator+ (const char* lhs, const string& rhs);
string operator+ (char lhs, const string& rhs);
string operator+ (const string& lhs, const char* rhs);
string operator+ (const string& lhs, char rhs);
We know
string s = "hi" + "ji";
is not OK
If compiling this using g++ , I get the error :
invalid operands of types ‘const char [3]’ and ‘const char [3]’ to
binary ‘operator+’
I am a lit... 阅读全帖
1 2 3 4 下页 末页 (共4页)