Hust oj 1563 亲和数(打表)

2023-10-31 10:32
文章标签 打表 oj hust 1563 亲和数

本文主要是介绍Hust oj 1563 亲和数(打表),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

亲和数
Time Limit: 1000 MSMemory Limit: 10240 K
Total Submit: 130(75 users)Total Accepted: 74(71 users)Rating:Special Judge: No
Description

亲和数是一种古老的数。

遥远的古代,人们发现某些自然数之间有特殊的关系:如果两个数a和b,a的所有真因数之和加上1等于b,b的所有真因数之和加上1等于a,则称a,b是一对亲和数。


据说,毕达哥拉斯(Pythagoras, 希腊文Πυθαγόρας,约前580年—前500年)的一个门徒向他提出这样一个问题:“我结交朋友时,存在着数的作用吗?”毕达哥拉斯毫不犹豫地回答:“朋友是你的灵魂的倩影,要象220和284一样亲密。”又说“什么叫朋友?就象这两个数,一个是你,另一个是我。”后来,毕氏学派宣传说:人之间讲友谊,数之间也有“相亲相爱”。从此,把220和284叫做“亲和数”或者叫“朋友数”或叫“相亲数”。这就是关于“亲和数”这个名称来源的传说。220和284是人类最早发现,又是最小的一对亲和数。


Output

输出100000以内的所有亲和数。

从小到大输出,每行一对亲和数,中间用一个空格隔开。

比如这三对亲和数:


220 284

1184 1210

2620 2924

这样是按照从小到大的输出。


题赤裸裸的告诉打表了都。。照着做就好了

/*#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
ll sum[1000000];
int main()
{memset(sum,0,sizeof(sum));for(int i=2;i<=100000;i++){for(int j=2;j<i;j++){if(i % j == 0)sum[i] += j;}}for(int i=0;i<=100000;i++){for(int j=0;j<=100000;j++){if(sum[i]+1 == j&&sum[j]+1 == i && i!=j){cout<<i<<' '<<j<<endl;}}}return 0;
}*/
#include<cstdio>
#include<iostream>
using namespace std;
int a[26]={220,284,1184,1210,2620,2924,5020,5564,6232,6368,10744,10856,12285,14595,17296,18416,63020,76084,66928,66992,67095,71145,69615,87633,79750,88730};
int main()
{int i,j;for(i=0;i<26;i+=2)printf("%d %d\n",a[i],a[i+1]);return 0;
}


这篇关于Hust oj 1563 亲和数(打表)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314737

相关文章

uva 568 Just the Facts(n!打表递推)

题意是求n!的末尾第一个不为0的数字。 不用大数,特别的处理。 代码: #include <stdio.h>const int maxn = 10000 + 1;int f[maxn];int main(){#ifdef LOCALfreopen("in.txt", "r", stdin);#endif // LOCALf[0] = 1;for (int i = 1; i <=

uva 10916 Factstone Benchmark(打表)

题意是求 k ! <= 2 ^ n ,的最小k。 由于n比较大,大到 2 ^ 20 次方,所以 2 ^ 2 ^ 20比较难算,所以做一些基础的数学变换。 对不等式两边同时取log2,得: log2(k ! ) <=  log2(2 ^ n)= n,即:log2(1) + log2(2) + log2 (3) + log2(4) + ... + log2(k) <= n ,其中 n 为 2 ^

计蒜客 Half-consecutive Numbers 暴力打表找规律

The numbers 11, 33, 66, 1010, 1515, 2121, 2828, 3636, 4545 and t_i=\frac{1}{2}i(i+1)t​i​​=​2​​1​​i(i+1), are called half-consecutive. For given NN, find the smallest rr which is no smaller than NN

高精度打表-Factoring Large Numbers

求斐波那契数,不打表的话会超时,打表的话普通的高精度开不出来那么大的数组,不如一个int存8位,特殊处理一下,具体看代码 #include<stdio.h>#include<string.h>#define MAX_SIZE 5005#define LEN 150#define to 100000000/*一个int存8位*/int num[MAX_SIZE][LEN];void

哈理工OJ 2179(深搜)

组合 Time Limit: 1000 MSMemory Limit: 32768 K Total Submit: 7(5 users)Total Accepted: 6(5 users)Rating: Special Judge: No Description 给出一个正整数N,从集合{1,2,3..N} 中找出所有大小为k的子集, 并按照字典序从小到大输出。 Input 第一行是一个整

每日OJ_牛客_求和(递归深搜)

目录 牛客_求和(递归深搜) 解析代码 牛客_求和(递归深搜) 求和_好未来笔试题_牛客网 解析代码         递归中每次累加一个新的数,如果累加和大于等于目标,结束递归。此时如果累加和正好等于目标,则打印组合。向上回退搜索其它组合。此题本身就是一个搜索的过程,找到所有的组合。 #include <iostream>#include <cmath>#in

OJ-0905

题目 示例1: 输入:10 10 56 34 99 1 87 8 99 3 255 6 99 5 255 4 99 7 255 2 99 9 255 213 4输出:99 示例2: 输入:10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 213 5输出:255 import java.util.

每日OJ_牛客_Emacs计算器(逆波兰表达式)

目录 牛客_Emacs计算器(逆波兰表达式) 解析代码 牛客_Emacs计算器(逆波兰表达式) Emacs计算器__牛客网 解析代码 逆波兰表达式(后缀表达式)求值,需要借助栈,思路: 循环输入,获取逆波兰表达式,然后进行以下补助,直到测试完所有的测试用例: 遇到数字字符串,将该数字字符串转化为数字然后入栈。遇到操作符时,从栈顶取两个数字,然后进行该运算符所对应运算

西北工业大学oj题-兔子生崽

题目描述: 兔子生崽问题。假设一对小兔的成熟期是一个月,即一个月可长成成兔,每对成兔每个月可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,一年以后可有多少对兔子? 这道题目一眼看过去就是典型的递归问题,代码如下 public class RabbitReproduction {public static void main(String[] args) {in

★ 算法OJ题 ★ 力扣209 - 长度最小的子数组

Ciallo~(∠・ω< )⌒☆ ~ 今天,简将和大家一起做一道滑动窗口算法题--长度最小的子数组~ 目录 一  题目 二  算法解析 解法⼀:暴力求解 解法二:滑动窗口 三  编写算法 一  题目 209. 长度最小的子数组 - 力扣(LeetCode) 二  算法解析 解法⼀:暴力求解 算法思路: 从前往后枚举数组中的任意⼀个元素,把它当成起始位置