條件:?? 為兩位數,8×?? 為兩位數,9×?? 為三位數。
暴力枚舉 10-99,驗證條件輸出結果。
for (i=10; i<100; i++) {
b = 809*i + 1;
if (b>=1000 && b<=10000 && 8*i<100 && 9*i>=100)
printf("%ld = 809*%ld + %ld\n", b, i, b%809);
}
char s[6]; gets(s);
int n = 0;
for (char *p=s; *p; p++) n = n*8 + (*p - '0');
printf("%d", n);
按位數累加:1位 4個,2位 4×7,3位 4×7×8 ... 利用乘法原理累加。
for (b=3; b<=a/2; b+=2) if (isPrime(b) && isPrime(a-b)) printf("%d=%d+%d\n",a,b,a-b);
構造 9, 99, 999... 直到模素數為 0,計數器即為答案。
while (a[i] && b[j]) c[k++] = (a[i] < b[j]) ? a[i++] : b[j++];
strcat(c, a[i]? a+i : b+j);
函數參數為結構體變量(非指針),屬值傳遞,函數內修改不影響實參。