d****n 发帖数: 1637 | 1 好吧,非要较真。
static in function .那块地方总是你的。
在你把临时内容取走之前,总是安全的。(前提是只有一个thread。多个thread就会有
麻烦。)
用多大,是你自己的事情。
你非要定义长度50, 拷贝100个字符,我也没办法。
用这个定义的最大的好处是--再你知道不会越界的前提下--每次不用分配内存空间。
你不会不知到malloc的时间要所消耗吧?
感兴趣的花自己作个benchmark.看看那个快。
char *func(){ static char * mychar[MAXCHAR]; ;;;; return mychar ;}
char *mallocFun(){chat *ret=(char *)malloc(sizeof(char)*MAXCHAR); return ret
;}
in main
main(){
{
int i;
for(i=0;i<100000;++i)
func();
}
{
int i;
for (i=0;i<100000;++i){
... 阅读全帖 |
|
g***l 发帖数: 2753 | 2 老大的这个方法是可行的。可是又出现新的问题了。
我定义了如下接口:
template
dec_base* new_object()
{
return new T;
}
typedef dec_base* (*ObjectGenerator)();
static std::map generator_map;
template
void register_dec_handle(int tag_id)
{
generator_map.insert(make_pair(tag_id,new_object));
}
如果把以上代码跟 main() 代码放在一个main.cpp里面,编译链接都没有问题。但是如
果把以上代码放在另外一个单独的sample.cpp里面,在另外一个main.cpp中的main()调用
register_dec_handle()的时间,gcc就会报告
g++ main.cpp sample.cpp -o sample.exe
main.cpp: 在函数‘int main(... 阅读全帖 |
|
f*******n 发帖数: 12623 | 3 In C++, you might want to use function pointers or function objects. The
most general is to make a template function that can accept any callable
type:
template
double objectFunc(F func) {
return func(x);
} |
|
d**********0 发帖数: 13081 | 4
It is hard to do/maintain the func spec and test spec..
How to update func/test/code in a easy way to make them consistent? |
|
X****r 发帖数: 3557 | 5 void loop(int limits[], int n, void (*func)(int x[])) {
int i, *x = (int *)malloc(n * sizeof(int));
for (i = 0; i < n; x[i++] = 0);
do {
func(x);
for (i = n-1; i >= 0 && ++x[i] >= limits[i]; x[i--] = 0);
} while (i >= 0);
free(x);
} |
|
d****i 发帖数: 4809 | 6 呵呵,有些小细节是有点,比如说struct的声明
C++:
struct Foo
{
//some fields
};
void func(Foo *a)
{
}
C:
struct Foo
{
//some fields
};
void func(struct Foo *a)
{
}
每个前要加个struct实在有点太那个了,除非一开始就typedef一下。 |
|
s*****r 发帖数: 790 | 7 我有一个 class module,定义了一个简单的class named babyclass
例如一个 command button, when clicked, it will perform a function names func
defined in the same userform.
now if I have two userforms that both use this class, they both have a
function called func. How do I reference the right user form in this
babyclass?
Thanks. |
|
l**********n 发帖数: 8443 | 8 there are two ways of creating an object: new Func or Object.create. I think
the Object.create is more self-explaining than new Func. |
|
d********g 发帖数: 10550 | 9 动态的目前测试主要还是TDD和靠unittest,和静态的比类型检查这一步是差不少。典
型的支持first-class function的几个语言,传func和func()自动查不出来。但真正做
得好的,写动态语言其实就和写C/C++需要自己管理内存差不多,就是严格加严格,还
有修炼加修炼
不过动态语言的优点也是不少的,比如duck typing很爽。静态的搞duck typing就没这
么直接,理念不同而已 |
|
w***g 发帖数: 5958 | 10 go的func不如python的def舒服。其实我觉得func就是冗余的,全都去掉程序差不多也
一样。还有去掉了;但是保留{},革命不彻底。不知道那批人想干嘛。go的并发性在
Linux世界应该是举世无敌的,这个C++也自甘不如。 |
|
c****f 发帖数: 1102 | 11 楼主 我也无聊 写了一个go的
package main
import (
"fmt"
"io/ioutil"
"strings"
"sync"
"runtime"
"github.com/pmezard/go-difflib/difflib"
)
func worker(x string, y []string, wg *sync.WaitGroup) {
max, index := float64(0), 0
a := strings.Split(x, "")
for i, v := range y {
b := strings.Split(v, "")
sq := difflib.NewMatcher(a, b)
r := sq.Ratio()
if r > max {
max = r
index = i
}
}
fmt.Printf("%f similarity r... 阅读全帖 |
|
z****e 发帖数: 54598 | 12 那这个太抽象
会乱
以前写oop时候
我们都会区分entity和func的class
entity一般就是set/get方法
func的话,其实你可以把他们全部看成是static
但是没有必要,因为static容易导致内存管理上的负荷加大
不利于内存管理,所以有了spring之后
全部都交给spring搞定,比全部都是static顶用
不管怎样,oop掌握起来更容易,也更顺畅
fp就像在解题,oop在列方程
图简单,还是oop了
string |
|
z****e 发帖数: 54598 | 13 protocol就是java里面的interface
就是一层皮或者叫做声明
定义了具体实现的东西的方法
需要具体实现,自身不能单独存在
delgation是一个design pattern
确切地说是oop的design pattern
意思就是说,你拿到一个东西
这个东西是另外一个东西的代理
你要跟另外一个东西做啥动作
不需要找到另外一个东西,只需要对付当前这个东西就可以了
举个例子
protocol Man{
func sayHi() -> String;
}
这里只声明了一个say hi方法,并没有具体实现
你要用class或者struct或者enum来实现
class Me:Man{
func sayHi() -> Sring{
println("hi");
return “hi”;//swift语法还不熟练,可能有错或者啥的
}
}
然后用的时候呢
Me me = new Me();
这里me其实就是一个东西
那么你可以通过protocol来做它的代理
Man man = me;
这里man就是me的代理,你要跟me做什么操作
比如sayHi();,你不需要me.sayHi... 阅读全帖 |
|
z*******3 发帖数: 13709 | 14
不过你可能需要把func和entity分离
spring主要节省的是funcs所属的objects
entity那种需要考虑多个threads之间的争抢
这个最好的方式就是每一个thread自己去用自己的entity
想起韩复渠的笑话,这么多人抢一个球,太不像话
我做主,打开仓库,你们每个人玩一个球
这个球就是entity,只要做到隔离,每个人有自己的球
基本上scale out都不难做,但是互相之间要抢球
那就麻烦了,做游戏就特别容易抢球 |
|
z*******3 发帖数: 13709 | 15
可以这么说,毕竟是framework,还是有东西要你遵守的
不过这个部分跟你语言的部分分离
不侵入你语言的实现,这样你就可以复用很多代码了
因为同样的java代码,你放在哪里,都不需要修改
你的spring跟我的spring用的java文件是一样的
这样你至少在测试的时候就很方便,没有context要折腾
这个方法过了那就是过了,不存在说有context的问题
spring的xml很傻瓜
就是beans.xml
那个xml文件里面就这些东西,你看一下就懂了
spring是一个组件的pool
tomcat是一个thread的pool
这个thread主要用来管理网络上发送过来的req
然后tomcat会从thread pool里面抓出一个thread去处理这个req
然后你写的主要是组件,不管是servlet,还是spring这些
你写的都是component,不涉及thread这些,就放到server里面去被调用
对吧?传统的做法,都是servlet like的方式
就是你在servlet里面实现逻辑,如果你在servlet里面要用其他... 阅读全帖 |
|
z****e 发帖数: 54598 | 16 java当然不鼓励static咯
hoho
你问问其他人,我反正static用得是越来越少了
spring出来之后,我几乎都不用static了
static是spring的事,所以说你在跟spring争抢控制权
你这样写spring,当然苦逼了,当然无法解耦了
到底听谁的?
另外type,record这些和class的差异在于
type,record是一个相对完备的集合
class则是一个无限延伸的概念
实体也就是object部分往往关注的是数量
所以有object(1), class(无限), enum(有限)这些
scala和java,swift什么都有
js,ruby,python也都有class,因为都有oo的部分嘛
这些东西往往是名词
而interface盖着的只是一堆func的集合
这种一般都以什么factory, util这些单词结尾
product往往是object,也就是实体
而这个实体才是现实中最真实的物体的映射
然后放在程序中一般都是变量
fp就纠结这个东西,就没有这些东西
因为从本质上否定有变量的存在,所以必需准备好足够的常量集
否则会很麻烦,而class定义成... 阅读全帖 |
|
N********n 发帖数: 8363 | 17 W/ generic OOP is able to decouple funcs from classes already. If it's
needed it's there. OOP funcs don't have to be bound to a class.
It just has to be a real generic like that of C#, rather than type
erasure garbage JAVA does. |
|
z****e 发帖数: 54598 | 18 polymorphism只是一个折中的方案
在任何时候polymorphism都会随着规模的增加而线性增加
最后当项目大了之后,polymorphism这部分代码会变得很大很粗
不管是oop还是fp,都应该想办法避免polymorphism
所以你说可以做到polymorphism,没啥,应该想办法避开polymorphism
我觉得那次谁说的
oop和fp的区别仅仅是在于看你的封装是在object级别还是func级别
那句话是至理名言,oop和fp还是有冲突的部分的
因为object和func只要存在,就会互相影响
).
functions |
|
z****e 发帖数: 54598 | 19 immutable讲的是func之间要immutable
内部无所谓,完全可以不控制
所以有个scope的问题
但是为什么func的参数需要immutable呢?
fp的zealot没有一个说得清楚的
都是各种大概念满天飞
甚至否定数学上变量存在的意义
为了自圆其说,笑死了
估计他们自己也都没有真的弄明白为什么要这样
fp只是很多人的一个虎皮而已
一旦撕下这个虎皮,你会发现
其实他根本就不明白为什么要用fp
这就是杀人游戏,你不说我什么都看不出来
你说得越多,破绽越多,就越能看明白你到底是不是懂 |
|
z****e 发帖数: 54598 | 20 mutable var的存在会使得func变得不确定
这是唯一的原因
func的确定性会受到冲击
在多线程环境下就不安全了
这个其实对于随便一个语言来说都可以直接用
无论是不是fp,说这个东西跟fp不fp没关系 |
|
z****e 发帖数: 54598 | 21 container.deployVerticle("foo.ChildVerticle", new AsyncResultHandler
() {
public void handle(AsyncResult asyncResult) {
if (asyncResult.succeeded()) {
System.out.println("The verticle has been deployed, deployment
ID is " + asyncResult.result());
} else {
asyncResult.cause().printStackTrace();
}
}
});
你说的是这种吧?
这个其实不是,verticle的名字放在第一个参数里面,也就是那个foo.ChildVerticle
这个才是verticle,后面那个handler是异步时候需要做的,其实就是一个lambda
文档为了向后兼容,所以用老的方式写,... 阅读全帖 |
|
z****e 发帖数: 54598 | 22 +观感正面,-观感负面
lambda +,写程序更简洁些
currying -,混乱,map到底是func还是obj?
1st-class func -,混乱,理由同上,同时需要跟immutable配合
immutable -,同上
monad +,collection部分不错,但是如果是包装其他的则观感负面
functor +,不错,理由同上
dynamic type +,有限滴使用,搬运数据时候用,否则混乱
async +,可以提升性能
single thread -,这哥们是来搞笑的
scala以上全部都可以做,也都可以不做
clojure到dynamic type以上都必需做到,谁让它纯呢?
java基本上就只允许做观感正面部分,除了dynamic type
which可以交给groovy完成,负面部分不是特别麻烦就是会被禁
java8加了lambda
vert.x有async
rxjava有functor和monad |
|
z****e 发帖数: 54598 | 23 典型的语法糖
需要解释->是啥意思
远不如func(obj)或者obj.func()直观
便于理解,语法糖一多,人就精分了 |
|
z****e 发帖数: 54598 | 24 object本身就应该是一个整体
不能随意拆分,就像一个人,你把人的手和人身体拆开,会有啥后果?
1st class func的想法是好的
但是因为缺乏宿主,会导致整个模型出现非常可怕的后果
一个完整的模型不应该有外力的介入,自身应该是完备的
而1st class func则提供了一个外来介入的机会
肯定会有傻瓜进来乱用,导致整个模型崩溃
所以一旦涉及到simulation,一律oo,哪怕是c也都很少用
用c++,而且强调c++的oo部分,swift也是当纯粹的oo来搞
swift的脚本部分我几乎都不用,也有性能上的考虑
dynamic远比static难维护性能也差
Java |
|
z****e 发帖数: 54598 | 25 no
大多数脚本都支持object
而且大多数脚本都是object和func的拼凑
java则偏向比较纯粹的oo
而lisp则偏向比较纯粹的func
脚本则多数介于两者之间
如果你非要认为lisp也是脚本的话
那有一点很明显不同
就是脚本一般不支持immutable
几乎所有的脚本使用的东东,都是var,而非val
在对付多线程上
java等纯粹oop会选择lock,或者说synchronised关键字
脚本选择了单线程,which is bad,very bad
fp则多数选择了immutable
当然互相之间未必冲突,但是可以明显从一些很简单的例子中看到不同 |
|
e*****w 发帖数: 144 | 26 不需要wrap. 比如string slice可以定义methods:
type Slice []string
func (s Slice) Filter(p func(string) bool) {
} |
|
p*****2 发帖数: 21240 | 27 比如下边这段代码,怎么能好看一点?有什么trick吗?
func readUserCSV(file string, lambda func(string, string) error) error {
csvfile, err := os.Open(file)
if err {
return err
}
defer csvfile.Close()
reader := csv.NewReader(csvfile)
reader.Read()
_for:
for {
record, err := reader.Read()
switch err {
case nil:
if err = lambda(record[0], record[1]); err != nil {
return err
}
case io.EOF:
break _for
... 阅读全帖 |
|
d****n 发帖数: 1637 | 28 抛砖引玉
func readUserCSV(file string, lambda func(string, string) error) err error {
csvfile, err := os.Open(file)
if err {
return err
}
defer csvfile.Close()
reader := csv.NewReader(csvfile)
reader.Read()
for {
if err != nil{
if err == io.EOF{
err = nil
}
break
}
record, err := reader.Read()
if err !=nil{
continue
}
... 阅读全帖 |
|
c*******9 发帖数: 9032 | 29 class BankAccount {
var balance: Double = 0.0
func deposit(amount: Double) {
balance += amount
}
}
let account = BankAccount()
account.deposit(100)
BankAccount.deposit(account)(100)
let depositor = BankAccount.deposit
depositor(account)(100)
//
account.balance //210
func depositor(account:BankAccount)(_ amount: Double){
account.balance += amount*0.1
}
depositor(account)(120)
account.balance //222 |
|
i*****o 发帖数: 1714 | 30 depositor is the func below. the func depositor has higher priority over the
let depositor.
★ 发自iPhone App: ChineseWeb 1.0.2 |
|
z****e 发帖数: 54598 | 31 感觉跟java8几乎没啥本质区别
除了ide弱一点,xcode反应比较慢以外
还有略微偏向一点fp,有1st class func以外
其他基本上跟java没啥本质区别
就是lambda+oop
self就是this
static就是class func
什么enum, class这些概念都是共通的,连关键字都一样
android和ios的差异主要在framework上
android搞成双线程真心蛋疼 |
|
z*******3 发帖数: 13709 | 32
这一批人都是red hat那个项目组的project odd
http://projectodd.org/
vert.x曾经也是这个项目组的一员
那个项目组还做了很多除了vert.x以外的其他东西
比如不同的jvm上的js引擎
因为他们对于rhino也就是mozilla的js引擎在jvm上实现的效率不满意
所以自己搞了一个,v3用的是red hat开发的js引擎nashorn,而非mozilla的rhino
还有jruby,也是red hat跟东京大学在搞
目标就是不需要修改ror的ruby代码可以直接移植到jvm上运行
这个也是他们项目组在搞
然后你说的这个,就是打算搬运npm到jvm上去运行
或者确切点说就是搬运到vert.x上运行,跟ror类似
不需要修改npm就可以运行,当然这个非常理想,还是有小部分npm无法用
因为npm有些不是js写的,js写的问题不大,但是如果是c写的npm
为了兼顾跨平台,所以就不得不抛弃了
vert.x和spring可以说完全没关系
vert.x跟spring有过一个讨论,community尤其是java的开发人员
都认为spring是by def... 阅读全帖 |
|
z*******3 发帖数: 13709 | 33 昨天刚琢磨的gcd,如果要share data between threads的话,用这个
public class SynchronizedArray {
private var array: [T] = [];
private let accessQueue = dispatch_queue_create("SynchronizedArrayAccess
", DISPATCH_QUEUE_SERIAL);
public func append(newElement: T) {
dispatch_async(self.accessQueue) {
self.array.append(newElement);
}
}
public func get() -> T?{
var object:T?;
dispatch_sync(self.accessQueue) {
if self.array.count > 0{
... 阅读全帖 |
|
z****e 发帖数: 54598 | 34
func是1st class citizen就没有封装
随便写,oop要求放入一个object中去
design pattern是每一个p都有的东西
用不用,纯粹根据环境决定
你需要明白为什么用,然后再决定要不要用
而不是看不懂说这个东西没有用,我觉得很多人根本是没有看懂patterns,然后说没用
design pattern一直都不是一个强制的要求
而是optional,实际上一直都有反pattern的说法
就是对于套路,可以不用,没有人强制要求说一定要用这些patterns
而用了这些patterns,恰恰是民工们自己觉悟出来,哦应该要这么用
有如下好处,blablabla,实际上随着fp的介入,dp用得越来越多
比如subscribe/publish pattern,就在streaming中得到了应用
就比如factory,在spring出现之前,factory是一个比较好的把compile部分剥离的办法
有了factory pattern,你如果修改了product的impl,就不需要我用factory的objects
跟着compile,这样就实现了更大程度的封装和dec... 阅读全帖 |
|
d****n 发帖数: 1637 | 35 http://play.golang.org/p/vS409gRveG
开20个worker,多用几个 电脑,当你 存xml时候注意一下duplicates就搞定了。指定
比你的 python快
// In this example we'll look at how to implement
// a _worker pool_ using goroutines and channels.
package main
import "fmt"
import "net/http"
import "log"
import "io/ioutil"
// Here's the worker, of which we'll run several
// concurrent instances. These workers will receive
// work on the `jobs` channel and send the corresponding
// results on `results`. We'll sleep a second per job to
// simulate... 阅读全帖 |
|
n*****t 发帖数: 22014 | 36 callback 只是一个 func ,跟其他任何 func 没有区别,记住这点就没问题了。
当然,node 可以检测到这点,说明可以从 platform 层面避免。 |
|
z****e 发帖数: 54598 | 37
匿名方法
就是当你临时想马上定义一个方法
然后只在这里用,用完就不再需要的时候
就需要用到匿名方法
java以前不支持匿名方法
必需要在匿名方法外面套上一层class
这就是所谓的匿名类
所以java8主要就是用来简化这个用的
说成一本书主要是因为func这个是fp的基础
所以关于func的定义什么都需要扩展
所以就说成了一本书
如果是java的话,可以不用鸟这些东东 |
|
T********i 发帖数: 2416 | 38 给你一个好了。thread和sleep。
disclaimer: 这个也是我抄的。
typedef void * (*qw_thread_func_t)(void *);
#if defined(_WIN32)
inline int qw_start_thread(qw_thread_func_t f, void *p) {
return (long)_beginthread((void(__cdecl *)(void *)) f, 0, p) == -1L ? -1
: 0;
}
#define qw_sleep(x) Sleep(x)
#else
inline int qw_start_thread(qw_thread_func_t func, void *param) {
pthread_t thread_id;
pthread_attr_t attr;
int result;
(void)pthread_attr_init(&attr);
(void)pthread_attr_setdetachstate(&attr, PTHRE... 阅读全帖 |
|
s********k 发帖数: 6180 | 39 但是asyncio还是难写不少,就是说3.4以上不提倡用thread,还以为GIL解决了。
比如我这个,怎么改写成 async合适
try:
thr = Thread(target=func, args=(func——args,))
thr.daemon = True
thr.start()
except Exception, e:
threadErrors.append([repr(e), current_thread.name]) # append a list
of info
raise # re-raise the exception or use sys.exit(1) to let the thread
die and free resources |
|
s********k 发帖数: 6180 | 40 感觉两种sync方法差不多,不太了解两者用起来差别在哪里,比如下面这个简单例子
1,用channel
ch := make(chan int,n)
for i:=0; i < n; i++ {
go func() {
// do something
ch <- i
}
}
for i:=0; i < n; i++ {
<- ch
}
2. 用wait group
var wg WaitGroup
wg.Add(n)
for i:=0; i < n; i++ {
go func() {
defer wg.Done()
// do something
}
... 阅读全帖 |
|
c**t 发帖数: 2744 | 41 有这么一段code:
#!/bin/ksh
func()
{
printf "%10s|%-10s\n" $x $x
return 0;
}
x=123
echo `func`
其output和
printf "%10s|%-10s" 123 123
不同. 区别在于第一个格式.
大家有什么意见, 赫赫 |
|
c*****t 发帖数: 1879 | 42
Actually, I take back what I said. It was NOT echo doing the formating.
Rather, when you call
echo `func`
the shell first get the results from func which can be 10 10
then, that thing is passed to echo by calling as
echo 10 10
Note that echo only see two arguments, not a formated string. So echo
just print the argument out with space in between. So, one way is to
assign the output to a temp variable in your case y. Then call echo
with double quotes around the variable |
|
m********i 发帖数: 298 | 43 同意金融没有学术问题。
如果承认市场是EFFICIENT的,大家还研究个P啊,抛硬币就好了。如果承认市场不是
EFFICIENT的,建立各种MODEL去MATCH REALITY,所有的人说的都对,也都不对。
BLACK SCHOLES MODEL其实是GP,
OPTIONPRICE=FUNC(。。。,ImpliedVol), ImpliedVol本来就是一个未知的变量,
美名其曰,IV。你说这个公式跟下面这个有什么区别:?
OPTIONPRICE=FUNC(火箭登月函数(纽约人口),GPVol) |
|
W*W 发帖数: 293 | 44 #include
#include
void func(double y, double x)
{
y = 2.0*x;
return;
}
void mexFunction(
int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[])
{
double y;
double x;
x=mxGetScalar(prhs[0]);
plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
y=mxGetScalar(plhs[0]);
func(y,x);
return;
}
程序可以编译,但在matlab里运行 y=f(x)总是得到y=0。
如果把mxGetScalar改成mxGetPr,所有都用指针程序是对的。
请教这是什么原因? |
|
g****y 发帖数: 199 | 45 you need to use pointer to assign the memory to y.
double *x,*y;
...
y = mxGetPr(plhs[0]);
...
func(y,x)
void func(double *y, double x) |
|
L*******i 发帖数: 51 | 46 a=7.474615e13
by casual,manual search with the following code.
define
function yp=func(a,x,y)
%
yp = (a + sqrt(a^2+3.6e22*y.^3))/2.8e6;
then
>> [t1,y1]=ode45(@(x,y)func(7.474615e13,x,y),[0,1e-8],100); y1(end)-101
you may want to search around for higher precision. |
|
l**********t 发帖数: 5754 | 47 2 - risk neutral 'cause utility function is linear
3 - risk taker 'cause utility func is convex
1 - D. 'cause utility func can be A or B or C |
|
s****h 发帖数: 3979 | 48 nonstationary time series, estimate the instanous noise level
有什么比较好的法子? estimate里面的信号呢?
试过wavelet denoise,觉得noise成份太小了。如果把高频能量都算噪声的话。
有没有比较好的filter推荐?尤其是end filter? 有没有什么end filter可以
根据不同的phase shift来设计的?
想了个很土的法子,假设原时间序列为X,由无关的信号T和噪声N组成。
先算 var(X),downsampling 2采样后,得到X2(和T2, N2), 计算var(X2).
var(T) = 1/4 var(T2), 如果假设是gaussian noise, var(N) = 2var(N2),
假设是brownian motion, var(T) = 2/3var(T2).如此可以估算噪声。
可是diff(S)的autocorre func在1,2,3...处都远大于0,这么算不太合理吧?
要是根据autocorre func和var(diff(S))来算,这个noise就是个 |
|
p******e 发帖数: 164 | 49 this guy is also a bluffing guy...
today saw his paper on Adv Func Materials.
he said he has many peer-reviewed papers.
in fact, with his PhD boss, only two paper including that Adv Func Mater.
for the word "many", I think at least 20.
find out this article and laugh.....bluffing all the way.
sound like we are in early 80's.
实
业
、
士
得
期
第 |
|
s*****n 发帖数: 2174 | 50 你需要说的更明确一些
1. 为什么是10种可能, 是每个数字都<= n, 并且所有数字的和等于n吗?
2. 你具体需要的是一个算法, 还是已经有了算法, 但是需要R code来实现?
3. 你的n大体是什么范围, 比如10以内, 还是几千几万什么的?
比如你是否需要这样一个函数my.func(n, i):
my.func(n=2, i=2) return
0 0
1 1
0
0
corresponding |
|