试把一个正整数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;
}

 

posted on 2017-12-03 22:54  小星_log  阅读(869)  评论(0编辑  收藏  举报