试把一个正整数n拆分为若干个
#include <stdio.h> int main() { int n,c=0; printf("输入拆分数:"); scanf("%d", &n); for(int i=1; i<=n/2; i++)// n1为最开头的数 { for(int j=i+1; j<n; j++)// n2为最末尾的数 { if((i+j)*(j-i+1)==n*2)// 用等差数列公式算和 { //如果相等就输出结果 c++; printf("%d:%d=", c,n); for(int t=i; t<j; t++) { printf("%d+", t); } printf("%d", t); printf("\n"); } } } printf("共有%d个结果\n", c); return 0; }