1. 程式人生 > >百度之星程式設計大賽試題(第一題解答)

百度之星程式設計大賽試題(第一題解答)

#include <iostream>
int main()
{
 int i,j,k,n,data,tsum; 
 n=0;         //儲存整數能分解成多少組整數連加
 printf("輸入一個整數:");
 scanf("%d",&data);
 for(i=1;i<data;i++)
 {
  tsum=0;     //儲存當前的和
  for(j=i;j<data;j++)
  {
   tsum+=j;
   if(tsum==data)
   {
    n++;   
    for(k=i;k<=j;k++)  //輸出分解出的整數
     printf("%d/t",k);
    printf("/n");
    break;  //加入一個break語句能減少演算法的執行時間,不加也可以
   }  
  }
 }
 if(n==0)  //如果一組都不能分解
  printf("NONE/n");
}