Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
108751 | 朱悦晨 | 拆分自然数 | C++ | 通过 | 100 | 265 MS | 260 KB | 495 | 2023-11-04 10:23:52 |
#include<bits/stdc++.h> using namespace std; int num[1010] = {1}; int x,cnt=0; void search(int a,int k) { for(int i=num[k-1];i<=a;i++) { if(i<x) { num[k] = i; a-=i; if(a==0){ cout<<x<<"="; for(int j=1;j<k;j++){ cout<<num[j]<<'+'; } cout<<num[k]<<endl; cnt++; return; } else{ search(a,k+1); } a+=i; num[k] = 0; } } return; } int main() { cin>>x; search(x,1); cout<<cnt<<endl; return 0; }