文章 發表由 嚴重過敏
-
-
-
學校網站就是這樣啦..
假日比較常這樣~
-
國中沒有理想滿正常的..國中時我思考也都被考試僵化了0.0
不過上高中之後會莫名的有抱負(= 口 =)|||
還是興趣最重要啦~真的
-
劉力維講題就有一種很權威的感覺耶~頗有魄力
聽他講育兒感想也頗有趣說xd
-
那種語氣還好吧~積極也不是壞事阿
想當初進來也是雄心壯志呢..下學期就淹沒在撲克牌裡了~xd
-
團膳喔..個人覺得禮拜三的還可以接受耶~
辦團膳的成效?頂多就不用煩惱中午要去哪吃而已吧....
-
實作的~
-
可以推薦一下c 語言演算法的書籍?
不知道該選哪本好...
-
我去查了一下中間鍵值的方法..
結果就AC了~xd
修改後的程式碼如下
#include <stdio.h>
#include <stdlib.h>
void sort(int x[],int left,int right)
{
int i,j,temp,k;
if(left<right)
{
i=left-1;
j=right+1;
k=x[(left+right)/2];
while(1)
{
while(x[++i]<k);
while(x[--j]>k);
if(i >= j)
break;
temp=x; x=x[j]; x[j]=temp;
}
sort(x,left,i-1);
sort(x,j+1,right);
}
}
int x[1000000];
int main(void)
{
int n,i,j,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
if(n==0||k==0)
break;
for(i=0;i<n;i++)
scanf("%d",&x);
sort(x,0,n-1);
printf("%d\n",x[n-k]);
}
return 0;
}
速度是1484MS
的確快了很多喔
-
-
-
不定方程組ax+by=gcd(a,b)
如一個分油問題
(出自昌爸工作坊 http://www.mathland.idv.tw/fun/oil.htm)
一道趣味數學題提到,有位農夫到油行,想買兩袋5公升的麻油。但是油行裡除了三個容積分別是10公升、7公升、3公升的量油杯之外,沒有任何測量工具。油行老闆如何運用這3個量杯,倒出兩個5公升的麻油呢?
我們感到興趣的是,這3個量杯是否可以完成老闆和農夫的需求。如果量杯的容積分別是10公升、6公升、4公升或是10公升、8公升、2公升,是否也可以完成老闆和農夫的需求呢?
首先,油行老闆以10公升的量杯裝滿麻油,再將麻油在3個量杯之間倒來倒去,直到有兩個量杯的麻油體積是5公升。而這「倒來倒去」的過程,就數學來說,就是在不同量杯之間麻油容量體積上進行加減運算。從不定方程式來看這道題,我們可假設老闆將麻油倒進7公升的量杯x次;麻油由7公升量杯倒進3公升的量杯y次,因為最後7公升量杯內裝5公升麻油,所以7x-3y=5。
y=(7x-5)/3 = 2x-2+(x+1)/3
,設 t=(x+1)/3,且t 是正整數。x=3t-1,y=2(3t-1)-2+t=7t-4。所以
x=3t-1
y=7t-4
取t=1時,x=2,y=3。也就是說在倒麻由的過程中,老闆將麻油倒進7公升的量杯2次;麻油由7公升量杯倒進3公升的量杯3次。可以完成老闆和農夫的需求,倒出兩杯各5公升的麻油。
如果以(a,b,c)表示容積10公升、7公升、3公升量杯內麻油的容量,則過程是(10,0,0)-->(3,7,0)-->(3,4,3)-->(6,4,0)-->(6,1,3)-->(9,1,0)-->(9,0,1)-->(2,7,1)-->(2,5,3)-->(5,5,0)
如果量杯的容積分別是10公升、6公升、4公升,照上述假設,6x-4y=5,(6,4)=2不是5的因數,所以這個不定方程式沒有整數解。而8x-2y=5也沒有整數解,因此容積10公升、6公升、4公升的量杯或是10公升、8公升、2公升都無法完成老闆和農夫的需求的。
--------------------------------------------------------------------------------------------------------------------
其中求 t 的方法不太懂~
如何看出 t要設為 (x+1)/3??
and 方程式設為7x-3y=5 是因為 7 要倒入 3 ?所以 -3y ??
如何求最少的分油次數???
如我敘述能力不佳請包含...
-
..不過腳踏車的還是沒過呢~= =
#include <stdio.h>
#include <stdlib.h>
void sort(int x[],int left,int right)
{
int i,j,temp,k;
if(left<right)
{
i=left+1;
j=right;
k=x
;
do
{
while(x<=k)
i++;
while(x[j]>k)
j--;
if(i<j)
{
temp=x; x=x[j]; x[j]=temp;
}
} while(i<j);
temp=x
; x
=x[j]; x[j]=temp;
sort(x,left,j-1);
sort(x,j+1,right);
}
}
int x[1000000];
int main(void)
{
int n,i,j,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
if(n==0||k==0)
break;
for(i=0;i<n;i++)
scanf("%d",&x);
sort(x,0,n-1);
printf("%d\n",x[n-k]);
}
return 0;
}
以上為程式碼~感恩xd
-
-
tioj 的1167題..
http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1167
和1287題
http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1287
兩題我都是同樣的問題~Time Limit Exceed
我都是用快速排序去找的~怎會超出時間呢?難道有更快的方法?還是我快速排序有寫錯?
以後是我寫的快速排序的程式碼
void sort(int x[],int left,int right)
{
int i,j,temp,k;
if(left<right)
{
i=left+1;
j=right;
k=x
;
do
{
while(x<k)
i++;
while(x[j]>k)
j--;
if(i<j)
{
temp=x; x=x[j]; x[j]=temp;
}
} while(i<j);
temp=x
; x
=x[j]; x[j]=temp;
sort(x,left,j-1);
sort(x,j+1,right);
}
}
感謝~xd
-
那個while的式子是讓測資可以跑...確認scanf讀入一筆資料
-
#include <stdio.h>
#include <math.h>
int fun(int);
int main(void)
{
int x;
while(scanf("%d",&x)==1);
if(fun(x)==1)puts("質數");
else puts("非質數");
return 0;
}
int fun(int n)
{
int i,temp;
if(n==2)
return 1;
if(n%2==0)
return 0;
temp=(int)sqrt((double)n);
for(i=3;i<=temp;i+=2)
if(n%i==0)
return 0;
return 1;
}
放到zerojudge上
出來的結過是WA...如下
與正確輸出不相符(line:1)
您的答案為: 非質數
正確答案為: 質數
到底哪裡出錯????
-
能用c語言複製檔案或刪除嗎?
還有如果將鍵盤入的資料寫入檔案中時~不能加入空白鍵嗎?
案了空白鍵之後就不會再出現字了..
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *stream;
char con[15];
stream=fopen("Unit1.txt","w");
if(stream==NULL)
printf("cant open this file\n");
else
{
printf("輸入一段文字,寫入在桌面上的Unit1.txt\n");
scanf("%s",con);
fprintf(stream,"%0s\n",con);
}
fclose(stream);
system("pause");
return 0;
}
這樣寫有錯嗎?
求解一題不等式
在 數學版
發表於
後來我發現用加權冪平均不等式會直接一些
M1(a,q)>=M0(a,q)
另a1=a^p a2=b^q q1=1/p q2=1/q
(q1a1+q2a2)/q1+q2 >=(a1^q1xa2^q2)^(1/q1+q2)