zoukankan      html  css  js  c++  java
  • 整数分解为若干项之和

    深度搜索,一开始没有想到,说明基本功还是不够啊,加油

    //============================================================================
    // Name        : PTA.cpp
    // Author      : pprp
    // Version     : 1.0
    // Copyright   : Your copyright notice
    // Description : Hello World in C++, Ansi-style
    //============================================================================
    
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    
    using namespace std;
    
    int N;
    int a[1000];
    int top = -1;
    int sum = 0;
    int cnt = 0;
    
    void division(int i){
    	if(sum == N){
    		cnt++;
    		cout << N <<"=";
    		for(int k = 0 ; k < top ; k++){
    			printf("%d+",a[k]);
    		}
    		if(cnt % 4 == 0 || a[top] == N){
    			printf("%d
    ",a[top]);
    		}else
    		{
    			printf("%d;",a[top]);
    		}
    		return ;
    	}
    	if(sum > N)return ;
    	for(int j = i ; j <= N; j++){
    		a[++top] = j;
    		sum += j;
    		division(j);
    		sum -= j;
    		top--;
    	}
    }
    
    int main() {
    	cin >> N;
    	division(1);
    	return 0;
    }
    
  • 相关阅读:
    sql
    po bo vo java bean
    jdk面试
    Bean 参数时间 设置
    kafka demo
    spring注解 动态修改注解的值
    参考资料
    Centos 编译带调试信息的libevent
    mysql 库表整体相关查询
    MySQL安装(linux)
  • 原文地址:https://www.cnblogs.com/pprp/p/8609930.html
Copyright © 2011-2022 走看看