相亲数amp;完全数最简单算法

article/2025/10/8 9:12:08

今天看到博客园一位仁兄的相亲数,整体感觉不错。

原文出处:http://www.cnblogs.com/devil0153/archive/2010/08/22/AmicablePair-And-PerfectNumber.html 

版权声明版权归作者WeiSteven所有,转载请注明! 

但有些算法感觉有些大材小用,随手写了一个最简单的相亲数的判断程序:

运行效果不是想象中的差,没进行任何的优化:

其中只是避开了分解质因数,求解复杂运算 

 

代码
 1  #include  < stdio.h >
 2  #include  < time.h >
 3  /* ----------------
 4  计算相亲数的快速算法
 5  最直接的代码用时:3088ms
 6  平台:T2330 1.6GHZ
 7  ----------------- */
 8  #define  MAX_TEST 5000000
 9  long  nTable[MAX_TEST]; // 素数表
10  char  nFlag[MAX_TEST];
11  // 构造未标记用于降低内存使用
12 
13  void  printConsole()
14  {
15       for ( long  i = 2 ;i < MAX_TEST;i ++ )
16      {
17           if (nFlag[i] == 0 )
18          {
19               if (nTable[i] < MAX_TEST && (nTable[nTable[i] + 1 ] + 1 == i))
20                  printf( " %ld\t%ld\n " ,i,nTable[i] + 1 );
21              nFlag[nTable[i] + 1 ] = 1 ;
22          }
23      }
24  }
25 
26  int  main()
27  {
28       long  j = 0 ;
29       double  startTime,endTime;
30      startTime = ( double )clock();
31       for ( long  i = 2 ;i < MAX_TEST;i ++ )
32      {
33          j = (i << 1 );
34           while (j < MAX_TEST)
35          {
36              nTable[j] += i;
37              j += i;
38          }
39      }
40      endTime = ( double )clock();
41      printf( " Total Run Time:%f\n " ,endTime - startTime);
42       // printf("数值:%ld\n",nTable[220]);
43      printConsole();
44       return   1 ;
45  }

 

 

 


http://chatgpt.dhexx.cn/article/aclYU1JE.shtml

相关文章

计算10000以下所有相亲数之和。

d(n)定义为n 的所有真因子&#xff08;小于 n 且能整除 n 的整数&#xff09;之和。 如果 d(a) b 并且 d(b) a, 且 a b, 那么 a 和 b 就是一对相亲数&#xff08;amicable pair&#xff09;&#xff0c;并且 a 和 b 都叫做亲和数&#xff08;amicable number&#xff09;。 …

算法练习-相亲数

问题描述 220的真因数之和为1245101120224455110284 284的真因数之和为 12471142220 毕达拉哥斯把这样的数对A&#xff0c;B称为相亲数&#xff1a;A的真因数之和为B&#xff0c;而B的真因数之和为A。求100000以内的相亲数。 问题分析 这个问题的关键是求真因数之和&#…

判断相亲数(c语言)

问题&#xff1a;编写一个程序&#xff0c;输入两个正整数&#xff0c;判断它们是否是相亲数&#xff1b; 运行图: 源代码&#xff1a; #include <stdio.h> int sum(int x) {printf("%d,",x);int i,j,k,z0,p0,h0;int l[20];for(kx-1;k>1;k--){if(x%k0){zk…

相亲数完全数最简单算法

今天看到博客园一位仁兄的相亲数&#xff0c;整体感觉不错。 原文出处&#xff1a;http://www.cnblogs.com/devil0153/archive/2010/08/22/AmicablePair-And-PerfectNumber.html 版权声明&#xff1a;版权归作者WeiSteven所有&#xff0c;转载请注明&#xff01; 但有些算法感…

相亲数问题

相亲数&#xff08;Amicable Pair&#xff09;&#xff0c;又称亲和数、友爱数、友好数&#xff0c;指两个正整数中&#xff0c;彼此的全部约数之和&#xff08;本身除外&#xff09;与另一方相等。毕达哥拉斯曾说&#xff1a;“朋友是你灵魂的倩影&#xff0c;要像220与284一样…

亲和数、相亲数

转自&#xff1a;http://zh.wikipedia.org/wiki/%E7%9B%B8%E4%BA%B2%E6%95%B0 相亲数(Amicable Pair)&#xff0c;又称亲和数、友爱数&#xff0c;指两个正整数中&#xff0c;彼此的全部约数之和&#xff08;本身除外&#xff09;与另一方相等。 例如220与284&#xff1a;…

关于“相亲数”的算法实现

“相亲数”的介绍 在数学中&#xff0c;“相亲数”是指一对“你中有我&#xff0c;我中有你”的数字&#xff0c;其特点是&#xff1a; 彼此的全部约数和&#xff08;本身除外&#xff09;与另一方相等。 例如&#xff1a;220和284就是一对相亲数。 220的全部约数和&#xff…

C#调用Matlab BP神经网络预测数据

Matlab 实现BP网络进行打包(Matlab 版本为 R2022a vs 2019)&#xff1a; matlab 命令窗口输入&#xff1a;deploytool 然后选择 Library Compiler 打开如下窗口&#xff1a; 在Type 框选择 .NET Assembly 在 点加入 添加函数文件 需要修改Class Name 点击右键 选择 Re…

bp神经网络预测模型python,r语言bp神经网络预测

如何建立bp神经网络预测 模型 。 建立BP神经网络预测模型&#xff0c;可按下列步骤进行&#xff1a;1、提供原始数据2、训练数据预测数据提取及归一化3、BP网络训练4、BP网络预测5、结果分析现用一个实际的例子&#xff0c;来预测2015年和2016年某地区的人口数。 已知2009年…

BP神经网络预测(MATLAB自定义函数进行)

功能&#xff1a;7输入1输出 算法&#xff1a;BP神经网络&#xff08;MATLAB自定义函数&#xff09; 电话&#xff1a;13483417110 输入&#xff1a;入炉温度、第一加热段温度、第二加热段温度、均热段温度、第一加热段停留时间、第二加热段停留时间、均热段停留时间 输出&…

BP神经网络预测实现

基本概念 误差反向传播神经网络简称为BP(Back Propagation)网络&#xff0c;它是一种具有三层或三层以上的多层神经网络&#xff0c;每一层都由若干个神经元组成。如图所示为一个BP神经网络的结构图&#xff0c;它的左、右各层之间各个神经元实现全连接&#xff0c;即左层的每…

基于神经网络的房价预测,BP神经网络预测房价

1、如何利用matlab进行神经网络预测 matlab 带有神经网络工具箱&#xff0c;可直接调用&#xff0c;建议找本书看看&#xff0c;或者MATLAB论坛找例子。 核心调用语句如下&#xff1a; %数据输入 %选连样本输入输出数据归一化 [inputn,inputps]mapminmax(input_train); [outpu…

麻雀搜索算法优化BP神经网络预测以及MATLAB代码实现

麻雀搜索算法SSA优化BP神经网络回归预测以及MATLAB代码实现 文章目录 麻雀搜索算法SSA优化BP神经网络回归预测以及MATLAB代码实现1. 麻雀搜索算法SSA原理1.1 算法灵感来源1.2 算法模型描述 2. SSA优化BP神经网络预测算法流程3. SSA优化BP回归预测的MATLAB实现步骤4. 运行结果与…

bp神经网络预测模型优点,bp神经网络缺点及克服

BP神经网络的核心问题是什么?其优缺点有哪些? 人工神经网络,是一种旨在模仿人脑结构及其功能的信息处理系统,就是使用人工神经网络方法实现模式识别.可处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,神经网络方法允许样品有较大的缺损和畸变.神经网络的类型…

提高bp神经网络预测精度,bp神经网络收敛速度慢

1、如何提高bp神经网络的预测精度啊 跟你的预测对象有很大关系。 1. 根据你的预测对象的特性选取合适的输入层、输出层和隐层神经元数目。 2. 选择合适的神经网络训练函数。 3. 保证足够的训练样本数据&#xff0c;并且确保这个训练样本数据有足够的精度能够反映需要预测的对象…

(四)BP神经网络预测(上)

BP神经网络适用于机器人控制、组合优化、模式识别、图像信息处理&#xff0c;能够对非线性数据建立精确的模型&#xff0c;对其未来进行预测。其核心思想是&#xff1a;将已预处理好的数据放到神经网络的微分方程进行反复训练&#xff0c;通过大量的训练建立BP神经预测模型&…

基于遗传算法优化BP神经网络预测和分类MATLAB实现-附代码

基于遗传算法GA优化的BP神经网络预测和分类&#xff08;含优化前对比&#xff09; 文章目录 基于遗传算法GA优化的BP神经网络预测和分类&#xff08;含优化前对比&#xff09;1. BP神经网络预测原理简介2. 遗传算法GA优化BP神经网络原理3. GA-BP模型建立3.1 模型与数据介绍3.2 …

用matlab做bp神经网络预测,matlab人工神经网络预测

如何得到神经网络预测结果 20 。 如果你用9——11年的数据不经过预测12——19年的数据就想得到第20年的数据的做法是不合理的&#xff0c;神经网络的预测讲求时间序列的连续性&#xff0c;你可以在编写maltab程序的时候才用递归的方法调用神经网络工具箱&#xff0c;加上对预…

提高bp神经网络预测精度,bp神经网络数据预处理

bp神经网络对输入数据和输出数据有什么要求 p神经网络的输入数据越多越好&#xff0c;输出数据需要反映网络的联想记忆和预测能力。BP网络能学习和存贮大量的输入-输出模式映射关系&#xff0c;而无需事前揭示描述这种映射关系的数学方程。 它的学习规则是使用最速下降法&…

bp神经网络预测模型优点,bp神经网络相关性分析

BP神经网络的可行性分析 神经网络的是我的毕业论文的一部分4&#xff0e;人工神经网络人的思维有逻辑性和直观性两种不同的基本方式。 逻辑性的思维是指根据逻辑规则进行推理的过程&#xff1b;它先将信息化成概念&#xff0c;并用符号表示&#xff0c;然后&#xff0c;根据符…