#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;
}

 

相关文章:

  • 2022-12-23
  • 2021-08-24
  • 2021-11-23
  • 2022-01-10
  • 2022-12-23
  • 2021-10-15
  • 2022-01-14
  • 2022-12-23
猜你喜欢
  • 2021-11-24
  • 2021-08-29
  • 2021-04-01
  • 2021-06-19
  • 2021-09-05
  • 2021-10-30
  • 2022-12-23
相关资源
相似解决方案