當前位置:首頁 » 編程語言 » 貪心演算法c語言

貪心演算法c語言

發布時間: 2025-03-17 00:57:41

c語言 貪心演算法 小朋友分組 急急急急急急急 立刻!!!!!!!

int fun(int *a, int n, int MinC, int MaxC)
{
int pmin, pmax, smin, smax, i;
pmin = pmax = smin = smax = 0;
for(i=0; i<n; i++)
{
if(a[i] < MinC)pmin += (MinC - a[i]);
if(a[i] > MaxC)pmax += (a[i] - MaxC);
smin += (a[i] - MinC);
smax += (a[i] - MaxC);
}
if(pmin == pmax)return pmin;
if(pmin > pmax && smin > 0)return pmin;
if(pmax > pmin && smax < 0)return pmax;
return -1;
}
void main()
{
int a[] = {20,8,6};
printf("%d %d %d",fun(a,3,10,15),
fun(a,3,5,20),fun(a,3,1,2));
}

看一下fun函數行不行

㈡ C語言 貪心演算法求背包問題

是你的冒泡排序出了問題~

你吧 原來的1-2-3號按照東西的價值重新排列現在的1-2-3對應原來的2-1-3了
所以 你輸出的時候是按 1-2-3輸出的話 就等於第一個是原來的X2 第二個是X1第三個是X3
而且你的冒泡排序用錯了 只比較了 P[0]/K[0]和P[1]/K[1] P[1]/K[1]和P[2]/K[2]
周一我去學校幫你重新改改 我家的機器沒有C++
周一晚上我會上傳答案~我最近正好也要做演算法的作業~
#include <stdio.h>
#include <math.h>
#define N 50

float find(float p[N],float w[N],float x[N] ,float M,int n) /*先放單位價值量大的物體,再考慮小的物體*/
{
int i;
float maxprice;
for (i = 0; i < n; i++)
x[i] = 0;
i = 0;
maxprice=0;
while (i < n && w[i] < M)
{
M=M-w[i];
x[i] =w[i]; /* 表示放入數量 */
maxprice=maxprice+p[i];
x[n-1]=M;
i++;
}
if (i < n &&M> 0)
{
maxprice=maxprice+p[i]*x[i]/w[i];
i++;
}
return maxprice;
}

int main()
{
int n,flag=1;
float temp,M,w[N],p[N],x[N];
int a[N],b[N];
int k,j,l=0;
printf(

熱點內容
視頻伺服器搭建海康 發布:2025-04-30 23:50:29 瀏覽:95
xp共享怎麼設置密碼 發布:2025-04-30 23:50:24 瀏覽:160
租用電腦主機搭建伺服器 發布:2025-04-30 23:28:06 瀏覽:733
php子類調用父類方法 發布:2025-04-30 23:11:55 瀏覽:678
存檔加密id 發布:2025-04-30 22:20:50 瀏覽:748
mac搭建php環境 發布:2025-04-30 21:58:13 瀏覽:141
雅迪電動車配置有哪些 發布:2025-04-30 21:38:27 瀏覽:162
為什麼用文件存儲取代mysql 發布:2025-04-30 21:17:26 瀏覽:614
我的世界免費伺服器ip 發布:2025-04-30 20:41:26 瀏覽:775
華為雲相冊在哪裡找安卓11 發布:2025-04-30 20:19:59 瀏覽:274