分类:
2009-12-14 20:28:45
在一张纸上写有94个自然数:1、2、3、4、5、6、7……、93、94。
划去最前面两个数1、2,而将他们的和3写在最后面,成为:3、4、5、6、7、……、94、3。 然后再划去最前面两个数3、4,而将他们的和7写在后面,成为:5、6、7、……、94、3、7。 同理继续,得:7、……、94、3、7、11。 这样一直进行下去,直到剩下最后一个数为止,求写出的所有数(包括最初的94个数)的和是多少? 答案:94 * 94 * (1+94)/2 = 4465*94 = 41970 #include int MachCount(int *pnInts, int *pnCount) if(*pnCount > 1) for(i=0; i<*pnCount; i++) nSum1 = pnInts[0] + pnInts[1]; for(i=0; i<*pnCount-2; i++) if(2 == *pnCount) else return nSum; else if(1 == *pnCount)
int main() while(1) nRet = MachCount(nInts, &nCount); nSum += nRet; printf("Ret=%d, Sum=%d\n", nRet, nSum); printf("sum=%d\n", nSum); return 0; |