总结20211209

总结20211209,第1张

总结20211209

早上:打金刚功,金刚功,刚功,功。

for多层嵌套可以用递归函数表示,这样就可以表示n层for的嵌套。举一个简单的例子。

求n个数加起来等于m,有哪些情况。

#include 
using namespace std;
int jishuqi = 0;
int w[1000000];
void digui( int a , int b , int n , int num , int p )
{
    int i;
    if(n == a){
        if( num == b){
            jishuqi ++;
            for(i=0;i


输入样例:

2 6

输出样例:

0 6
1 5
2 4
3 3
4 2
5 1
6 0
7

那个7是7种情况的意思。

这个和用2个for嵌套是一样的,那就是两个数加起来等于一个值:

#include
int main(){
    int i,j,y;
    scanf("%d",&y);
    for(i=0;i<=y;i++){
        for(j=0;j<=y;j++){
            if(i+j==y)printf("%d %dn",i,j);
        }
    }
    return 0;
}

样例输入:

6

样例输出:

0 6
1 5
2 4
3 3
4 2
5 1
6 0

这样就可以解决一些n层for嵌套的题,但是还是要多加练习,现在我的递归思维比较迟钝,写递归类的题目时常常转不过来。上面只是作为一个样例,先看懂再对着样例写。我觉得只要时间不超限,这种方法是可以解决背包问题的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存