求奇數的乘積
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 59411 Accepted Submission(s): 38281
本來很基礎的題,但是在判斷奇數方面有一些額外收穫:
一般來說判斷奇數可以用取餘數: if(x%2==0) 可以判斷奇偶;這是新手的寫法:一般簡潔點都這麼寫if(x%2)
但是對於炒雞多的數或者很大的數時,頻繁的計算去模運算據說很慢(有多慢我也不造,嗯。。程序猿的時間觀是以毫秒爲單位的~~)
所以有了此種 給 (bian) 力 (tai) 的判斷方法 if(x&1) 嗯,用了簡單粗暴的位運算,據說快了不少,看起來也比較高大上~
好了,對此水題來說用哪種都不會超的~
#include<stdio.h>
int main()
{
int n,i,ans,x;
while(scanf("%d",&n)!=EOF)
{
for(i=0,ans=1;i<n;i++)
{
scanf("%d",&x);
if(x&1)
ans*=x;
}
printf("%d\n",ans);
}
return 0;
}