寻找固定的和

Code:
  1. void sort(int x[], int n)  
  2. {  
  3.     int temp;  
  4.     int i;  
  5.     int j;  
  6.       
  7.     for (i = 1; i < n; ++i)  
  8.     {  
  9.         temp = x[i];  
  10.         for (j = i - 1; j >= 0; --j)  
  11.         {  
  12.             if (x[j] > temp)  
  13.             {  
  14.                 x[j + 1] = x[j];  
  15.             }  
  16.             else  
  17.             {  
  18.                 break;  
  19.             }  
  20.         }  
  21.         x[j + 1] = temp;  
  22.     }  
  23. }  
  24.   
  25. int Fix_sum(int x[], int y[], int m, int n, int given)  
  26. {  
  27.     int first;  
  28.     int last;  
  29.     int middle;  
  30.     int i;  
  31.     sort(x, m);  
  32.       
  33.     for_each(x, x + 4, Print<int>() );  
  34.     cout << endl;  
  35.       
  36.     for (i = 0; i < n; ++i)  
  37.     {  
  38.         first = 0;  
  39.         last = m - 1;  
  40.           
  41.         while (first <= last)  
  42.         {  
  43.             middle = (first + last) / 2;  
  44.             if (x[middle] + y[i] == given)  
  45.             {  
  46.                 return YES;  
  47.             }  
  48.             else if (x[middle] + y[i] > given)  
  49.             {  
  50.                 last = middle - 1;    
  51.             }  
  52.             else  
  53.             {  
  54.                 first = middle + 1;  
  55.             }     
  56.         }  
  57.     }  
  58.       
  59.     return NO;  
  60. }  

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值