x是整數演算法
⑴ 設a[0…n-1]是一個n個整數的已排序的數組,x是整數.請設計一個演算法來確定在a[]中
假設是增序的演算法如下,時間復雜度為O(n):
#include <stdio.h>
bool findTwoNumber(int array[], int len, int x)
{
int low = 0;
int high = len - 1;
while(low < high)
{
if ((array[low] + array[high]) > x) //如果和大於x說明當前最大數加上low之後的小數都比x大
high--;
else if ((array[low] + array[high]) < x) //如果和小於x說明當前最小數加上high之前的數都比x小
low++;
else
break;
}
if (low == high)
return false;
printf("array[%d] = %d, array[%d] = %d.", low, array[low], high, array[high]);
return true;
}
如果是減序修改循環體中的if語句修改為如下形式即可:
if ((array[low] + array[high]) < x)
high--;
else if ((array[low] + array[high]) > x)
low++;
else
break;
⑵ 高中數學演算法中 「若X為整數」怎麼表示
在判斷框輸入「x∈Z ?」,「Y」輸出,「N」結束。