給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數
要求下排每個數都是先前上排那十個數在下排出現的次數。
上排的十個數如下:
【0,1,2,3,4,5,6,7,8,9】
舉乙個例子,
數值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0在下排出現了6次,1在下排出現了2次,
2在下排出現了1次,3在下排出現了0次....
以此類推..
結論:0出現的次數為n-4,1出現的次數為2.2出現的次數為1。n-4出現的次數為1.如果數列中無則四個數,無解。
問題:1、可能是個數不連續
2、可能無解
3、資料有重複
4、資料不一定有零,可能有負數
/ 演算法有缺陷,n=5時是有結果2,1,2,0,0的,
//coder:lee
//20120306
#include
#include
using namespace std;
int getsum(int *times,int length,int n)
return count;
}void adjustnumbers(int *times,int *top,int length)
}cout<<"number:"break;
k++;
if(k==100)
break;}}
int main()
;int times[length]=;
adjustnumbers(times,top,length);
for(int i=0;icout}
根據上排十個數,算出下排十個數
以下為一給出的數學解法,還沒細看正確與否,先記下,留待後用 給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 0,1,2,3,4,5,6,7,8,9 舉乙個例子,數值 0,1,2,3,4,5,6,7,8,9 分配 6...
十個數排序
對10個數進行排序 include intmain int i,j,temp for i 1 i 10 i printf 輸出排好的數列是 n for i 1 i 10 i include define size 10 intmain 十個數的無序數列 int i,j char t printf 此...
比較十個數的大小
includeint main int i int max 0 for i 0 i sizeof arr sizeof arr 0 i printf d n max return 0 sizeof arr 是整個陣列所佔的位元組數,sizeof arr 0 是乙個元素所佔的位元組數,他倆一除就是整個...