// 1 - 2! + 3! - 4! + ... - 10!
#include <stdio.h>
int factorial(int n) {
int x = 1, i;
for(i = 1; i <= n; i++) {
x *= i;
}
return x;
}
int main(void) {
int sum = 0, i, flag = 1;
for(i = 1; i <= 10; i++) {
// printf("%d\n", factorial(i));
sum += flag * factorial(i);
flag *= -1;
}
printf("1 - 2! + 3! - 4! + ... - 10! = %d\n", sum);
}
// 1 - 1/3 + 1/5 - 1/7 + ... -1/101
#include <stdio.h>
int main(void) {
int i, flag = 1;
float sum = 0.0;
for(i = 1; i <= 101; i += 2) {
// printf("%f\n", 1.0 / i);
sum += flag * 1.0 / i;
flag *= -1;
}
printf("%f\n", sum);
}
// 153 = 1^3 + 5^3 + 3^3
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int i, a[3], j, k;
for(k = 100; k < 1000; k++) {
i = k;
j = 0;
while(i) {
a[j++] = i % 10;
// printf("%d\n", i);
i /= 10;
}
if(k == a[0] * a[0] * a[0] + a[1] * a[1] * a[1] + a[2] * a[2] * a[2]) {
printf("%d = %d^3 + %d^3 + %d^3\n", k, a[2], a[1], a[0]);
}
}
}
/* Print
******
******
******
******
******
******
*/
#include <stdio.h>
int main(void) {
int i, j, n;
printf("Please input n:");
scanf("%d", &n);
for(i = 0; i < n; i++) {
for(j = 0; j < n; j++) {
printf("*");
}
printf("\n");
}
}
// 分別求字符串中,大寫字符、空格和其他字符的個數,字符串長度不大於80
#include <stdio.h>
int mystrlen(const char* s) { // 雖然庫中有這個,但仍然願意自己做
int len = 0;
while(*s++) {
len++;
}
return len;
}
int main(void) {
int a = 0, b = 0, c = 0;
char str[0xff] = "ABC Abc", * s = str;
printf("Please input Your Strings:\n");
do{
*s++ = getchar();
} while(*(s - 1) != 0xa);
if(mystrlen(s) > 80) {
printf("字符串長度過長");
return -1;
}
s = str;
while(*s) {
if(*s == ' ') {
a++;
} else if(*s >= 'A' && *s <= 'Z') {
b++;
} else {
c++;
}
s++;
}
printf("空格 = %d,大寫字母 = %d,其他字符 = %d\n", a, b, c);
}
// 錕? == 錛?* 0.01 + 錛? 0.02 + 錛? 0.05
#include <stdio.h>
int main(void) {
int i, j, k, n = 1;
for(i = 0; i <= 100; i++) {
for(j = 0; j <= 100; j += 2) {
for(k = 0; k <= 100; k += 5) {
if(100 == i + j + k) {
printf("%d : 1Yuan == (%d) * 1F + (%d) * 2F + (%d) * 5F\n", n, i / 1, j / 2, k /
5);
n++;
}
}
}
}
}
//涓€涓洅瀛愪腑鏀炬湁12涓悆錛屽叾涓?涓孩鐞冿紝3涓櫧鐨勶紝6涓粦鐨勶紝浠庝腑浠誨彇8涓悆錛?
//奼傚叡鏈夊灝戠
涓嶅悓鐨勯鑹叉惌閰?
#include <stdio.h>
int main(void) {
int i, j, k;
for(i = 0; i <= 3; i++) {
for(j = 0; j <= 3; j++) {
for(k = 0; k <= 6; k++) {
if(8 == i + j + k) {
printf("(%d)R (%d)W (%d)B\n", i, j, k);
}
}
}
}
}
// even = prime + prime;
#include <stdio.h>
int is_prime(int n) {
int i;
for(i = n - 1; i >= 2; i--) {
if(n % i == 0) {
return 0;
}
}
return 1;
}
int main(void) {
int i, n;
printf("Please input a even number:");
scanf("%d", &n);
for(i = 3; i <= n - 2; i++) {
if(i > n / 2) {
break;
}
if(is_prime(i) && is_prime(n - i)) {
printf("Two prime %d + %d = %d(even)\n", i, n - i, n);
}
}
}
// N是一個4位數,它的9倍恰好是其反序數(123 -- 321)
#include <stdio.h>
int num_mun(int n) {
int a[0x2f], i = 0, j, sum = 0, b = 1, c = 0;
while(n) {
a[i++] = n % 10;
n /= 10;
}
for(j = i - 1; j >= 0; j--) {
c = a[j] * b;
sum += c;
b *= 10;
}
return sum;
}
int main(void) {
int i;
for(i = 1000; i < 9999; i++) {
if(i * 9 == num_mun(i)) {
printf("%d * 9 == %d\n", i, num_mun(i));
}
}
}
// 1 + 11 + 111 + 1111 + ...
// is prime
// 10 = 2 * 5
#include <stdio.h>
int f(int n) {
if(1 == n) {
return 1;
} else {
return f(n - 1) * 10 + 1;
}
}
int sum_f(int x, int n) {
int i, sum = 0;
for(i = 1; i <= n; i++) {
sum += f(i);
}
sum *= x;
return sum;
}
int is_prime(int n) {
int i;
for(i = n - 1; i > 1; i--) {
if(0 == n % i) {
return 0;
}
}
return 1;
}
void prime_mul(int n) {
printf("%d = ", n);
int x = n, c = 0, c1 = 0;
int i = 2;
while(i <= x) {
while(0 == x % i) {
x /= i;
if(is_prime(i)) {
c++;
}
}
i++;
}
i = 2;
while(i <= n) {
while(0 == n % i) {
n /= i;
if(is_prime(i)) {
printf("%d", i);
if(++c1 < c) {
printf(" * ");
}
}
}
i++;
}
printf("\n");
}
int main(void) {
int i;
printf("%d\n\n", sum_f(1, 4));
for(i = 30; i <= 100; i++) {
prime_mul(i);
}
}