109學年度師大附中 國中資訊科技
12 以下求最大公因數,空格的正確程式片段為
13 題 此程式輸出為何 ?
ANS A[0-99]=值為對應索引值
b[50]-a[50]=b[49]+a[50]-a[50]=b[49]
b[49]=b[48]+49
b[48]=b[47]+48
答案為 1324
這題為某些特定 C++/C 下會有特定解法
(0+1+..+.49)*50/2=49*25=1225
1225+99=1324
為何加 99 因為 b[-1]=99 表示 對應到第最後一個
這個問題有趣了... 不知為何會是 99
int main()
{
int a[100],b[100],c[100];
int i;
for(i=0;i<100;i++)
a[i]=i;
printf("\n%d",a[-1]) ;
for(i=0;i<100;i++)
b[i]=i;
printf("\n%d",b[-1]) ;
for(i=0;i<100;i++)
c[i]=i;
printf("\n%d",c[-1]) ;
return 0;
}
a=100
b 和 c 都是 99
=======================
int main()
{
int a[100],b[100],c[100];
int i;
for(i=1;i<100;i++)
a[i]=i;
printf("\n%d",a[-2]) ;
for(i=1;i<100;i++)
b[i]=i;
printf("\n%d",b[-2]) ;
for(i=1;i<100;i++)
c[i]=i;
printf("\n%d",c[-2]) ;
return 0;
}
a=亂輸出
b 和 c 都是 98
=======================