整数趣题(亲密数)

来源:互联网 发布:文明5金币修改器 知乎 编辑:程序博客网 时间:2024/05/17 02:26
/**************************************** *  File Name  : integer.c *  Creat Data : 2015.1.24*  Author     : ZY *****************************************/ /*整数趣题*//*亲密数*//*如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。*/#include <stdio.h>int main(){int a,i,b,n;printf("There are following friendly-numbers pair samller than 3000:\n");for(a = 1;a < 3000;a++ ){for( b = 0,i = 1;i <= a/2;i++ ){if(!(a%i)){b += i;//B的值为A的累加和}}for( n = 0,i = 1;i <= b/2;i++ )//直接使用A的累加和{if(!(b%i)){n += i;//A的值为B的累加和}}if( n == a && a < b )//此处判断,且排除因子与数相同的的情况{printf("%20d    %20d\n",a,b);}}return 0;}

0 0
原创粉丝点击