用C语言编写,自守数

 时间:2024-10-12 01:16:52

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File

用C语言编写,自守数
用C语言编写,自守数

2、定义变量和数组:#include<stdio.h>void main(){ long i, j, k1, k2, k3, a[10] ={0}, num, m, n, sum; /*定义变量及数组为长整形*/

用C语言编写,自守数

3、输入一个数表示范围: printf("请输入一个数表示范围:\n"); scanf("%ld", &num); /*从键盘中输入要求的范围*/

用C语言编写,自守数

4、对该范围内的数逐个试探: printf("结果是:"); for (j = 0; j < num; j++) /*对该范围内的数逐个试探*/ { m = j; n = 1; sum = 0; k1 = 10; k2 = 1;

用C语言编写,自守数

5、判断该数的位数: while (m != 0) /*判断该数的位数*/ { a[n] = j % k1; /*分离出的数存入数组中*/ n++; /*记录位数,实际位数为n-1*/ k1 *= 10; /*最小n位数*/ m = m / 10; } k1 = k1 / 10; k3 = k1;

用C语言编写,自守数

6、求每一部分积之和并输出自守数: for (i = 1; i <= n - 1; i++) { sum += (a[i] / k2 * a[n - i]) % k1 * k2; /*求每一部分积之和*/ k2 *= 10; k1 /= 10; } sum = sum % k3; /*求和的后n-1位*/ if (sum == j) printf("%5ld", sum); /*输出找到的自守数*/ } printf("\n");

用C语言编写,自守数

7、完整的源代码:#inclu蟠校盯昂de<stdio.h>void main(){ long i, j, k1, k2, k3, a[10] ={0}, num, m, n, sum; /*定义变量及数组为长整形*/ printf("请输入一个数表示范围:\n"); scanf("%ld", &num); /*从键盘中输入要求的范围*/ printf("结果是:"); for (j = 0; j < num; j++) /*对该范围内的数逐个试探*/ { m = j; n = 1; sum = 0; k1 = 10; k2 = 1; while (m != 0) /*判断该数的位数*/ { a[n] = j % k1; /*分离出的数存入数组中*/ n++; /*记录位数,实际位数为n-1*/ k1 *= 10; /*最小n位数*/ m = m / 10; } k1 = k1 / 10; k3 = k1; for (i = 1; i <= n - 1; i++) { sum += (a[i] / k2 * a[n - i]) % k1 * k2; /*求每一部分积之和*/ k2 *= 10; k1 /= 10; } sum = sum % k3; /*求和的后n-1位*/ if (sum == j) printf("%5ld", sum); /*输出找到的自守数*/ } printf("\n");}

用C语言编写,自守数
  • 怎样用Python计算一天是这一年的第几天?
  • VMware如何彻底删除虚拟机
  • 学习通如何使用邀请码
  • 快速在公司站稳的5大秘诀,职场人必看
  • 数据库的基础知识
  • 热门搜索
    法制手抄报 环保手抄报内容 普通话手抄报 端午节手抄报图片 科技节手抄报 清明节手抄报内容 我爱你汉字手抄报 历史手抄报 建党节手抄报 英语手抄报简单又漂亮