1つのデータのセットに1つの数字しか表示されません.他のすべての数字はペアで表示されます.この数字を見つけてください.
901 ワード
#include<stdio.h>
#include<stdlib.h>
int find_f(int arr[], int len) //
{
int i, j, k;
for (i = 0; i < len; i++)
{
k = 0;
for (j = 0; j < len; j++)
{
if ((arr[i] & arr[j]) == arr[i]) // ,k++
k++;
}
if (k == 1) return (i); // (k=1), ,
}
return (len + 1);
}
int main()
{
int arr[] = { 4, 6, 4, 5, 5, 3, 6 }; // ,
int len = sizeof(arr) / sizeof(arr[0]),c; //
c = find_f(arr, len); //
if (c > len) //
printf("
");
else
printf("%d
",arr[c]); //
system("pause");
return 0;
}
本文はただ下で学习の过程の自分の考えを下にして、简単な机能を実现するしかなくて、まだプログラムの最适化を考虑していないかもしれなくて、大神が书いたコードとまだ一定の差があって、もしあの大神が问题を発见したら、ご指导を惜しまないでください、もしあなたは更に良い方法があるならば、分かち合って分かち合って、ありがとうございます!