/* 2022.5.7*/
/* factor.c -- 使用循环和递归计算阶乘 */
//#include <stdio.h>
//long fact(int n); /* 使用循环实现求一个正整数的阶乘 */
//long rfact(int n); /* 使用递归实现求一个正整数的阶乘 */
//int main(void)
//{
// int num;
//
// printf("this program calcuates factorials.\n");
// printf("enter a value in the range 0-12 (q to quit):\n");
// while (scanf("%d", &num) == 1)
// {
// if (num < 0)
// printf("no negative numbers, please.\n");
// else if (num > 12)
// printf("keep input under 13.\n");
// else
// {
// printf("loop: %d factorial = %ld\n",num,fact(num));
// printf("recursion: %d factorial = %ld\n", num, rfact(num));
// }
// printf("enter a value in the range 0-12 (q to quit):\n");
// }
// printf("bye.\n");
//
// return 0;
//}
//
//long fact(int n) /* 使用循环的函数 */
//{
// long ans;
//
// for (ans = 1; n > 1; n--)
// ans* n;
//
// return ans;
//}
//
//long rfact(int n) /* 使用递归的函数 */
//{
// long ans;
//
// if (n > 0)
// ans = n * rfact(n - 1);
// else
// ans = 1;
//
// return ans;
//}
//this program calcuates factorials.
//enter a value in the range 0 - 12 (q to quit) :
// 5
// loop : 5 factorial = 1
// recursion : 5 factorial = 120
// enter a value in the range 0 - 12 (q to quit) :
// 10
// loop : 10 factorial = 1
// recursion : 10 factorial = 3628800
// enter a value in the range 0 - 12 (q to quit) :
//
// q
// bye.
// 这个程序计算阶乘。
// 输入范围0 - 12 (q to quit) :
// 5
// 循环 : 5 != 1
// 递归 : 5 != 120
// 输入范围0 - 12 (q to quit) :
// 10
// 循环 : 10 != 1
// 递归 : 10 != 3628800
// 输入范围0 - 12 (q to quit) :
//
// 问
// 再见。
/* binary.c -- 以二进制形式打印整数 */
//#include <stdio.h>
//void to_binary(unsigned long n);
//
//int main(void)
//{
// unsigned long number;
// printf("enter an integer (q to quit):\n");
// while (scanf("%1u", &number) == 1)
// {
// printf("binary equivalent: ");
// to_binary(number);
// putchar('\n');
// printf("enter an integer (q to quit):\n");
// }
// printf("done,\n");
//
// return 0;
//}
//
//void to_binary(unsigned long n) /* 递归函数 */
//{
// int r;
//
// r = n % 2;
// if (n > 2)
// to_binary(n / 2);
// putchar(r == 0 ? '0' : '1');
//
// return;
//}
//enter an integer(q to quit) :
// 9
// binary equivalent : 001
// enter an integer(q to quit) :
// 255
// binary equivalent : 0
// enter an integer(q to quit) :
// binary equivalent : 01
// enter an integer(q to quit) :
// binary equivalent : 01
// enter an integer(q to quit) :
// 1024
// binary equivalent : 1
// enter an integer(q to quit) :
// binary equivalent : 0
// enter an integer(q to quit) :
// binary equivalent : 0
// enter an integer(q to quit) :
// binary equivalent : 00
// enter an integer(q to quit) :
// q
// done,
// 输入整数(q to quit) :
// 9
// 二进制等效 : 001
// 输入整数(q to quit) :
// 255
// 二进制等效 : 0
// 输入整数(q to quit) :
// 二进制等效 : 01
// 输入整数(q to quit) :
// 二进制等效 : 01
// 输入整数(q to quit) :
// 1024
// 二进制等效 : 1
// 输入整数(q to quit) :
// 二进制等效 : 0
// 输入整数(q to quit) :
// 二进制等效 : 0
// 输入整数(q to quit) :
// 二进制等效 : 00
// 输入整数(q to quit) :
// 问
// 完成了,