如何解决用一和二求和创建数字的方法
我想知道是否有一种方法可以计算仅使用一和二来求和的数字。
例如:
我们有数字10。数字10可通过以下方式求和:
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2
2 + 2 + 2 + 2 + 2
etc...
谢谢大家!
解决方法
如果元素的顺序无关紧要,如注释所解释(即1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2
与2 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
相同),这只是选择求和中元素的数量,可以在两个元素之间5到10。一旦选择了元素数量,您就会确切地知道其中有多少个元素必须是1,而有多少个元素必须是2s:对于x个元素,有10-x 2s,其余元素是1s。
由于有6种数字可供选择,因此这是创建10种数字的方法。
,我不建议采用复杂的数学公式,而是推荐使用DP方法。
int arr[N+1]; // Represents no. of ways to produce a number at index 1
// Like arr[5] is no. of ways to produce number 5
for(int i=0;i<=N;i++) {
arr[i] = 1; // As all 1s
}
for(int i=2;i<=N;i++) {
// if we add 2 now,check for no. of ways i-2 can be made,// add it to current arr[i] value.
arr[i] += arr[i-2];
}
cout<< (arr[N]); // print
,
仅使用数字= > dput(Cologne[1:20,])
structure(list(year = c(1531,1531,1532,1533,1533),month = c(7,8,9,10,11,12,1,2,3,4,5,6,7,2),price = c(7575,588,615,69,712,72,675,6933,70,656,66,62,48,462,45,456,46),town = c("Cologne","Cologne","Cologne")),spec = structure(list(cols = list(
Jahr = structure(list(),class = c("collector_double","collector"
)),Monat = structure(list(),"collector")),cologne_wheat_monthly = structure(list(),class = c("collector_number","collector"))),default = structure(list(),class = c("collector_guess",skip = 1),class = "col_spec"),row.names = c(NA,20L),class = c("tbl_df","tbl","data.frame"))
> dput(Total) structure(list(start_mth = c(9,7),end_mth = c(10,8)),class = "data.frame",-66L))
来创建数字的方法数量
至少使用一个两个数字来创建数字的方法的数量= 1
总计= floor(n/2)
请参见下面的1 + floor(n/2)
代码段:
javascript
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。