聪明的燕姿(数论)

2023-11-21 08:50
文章标签 数论 聪明 燕姿

本文主要是介绍聪明的燕姿(数论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【题目背景】

阴天傍晚车窗外
未来有一个人在等待
向左向右向前看
爱要拐几个弯才来
我遇见谁会有怎样的对白
我等的人他在多远的未来
我听见风来自地铁和人海
我排着队拿着爱的号码牌

【题目描述】

城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁。

可是燕姿不一样,燕姿知道自己等的人是谁,因为燕姿数学学得好!燕姿发现了一个神奇的算法:假设自己的号码牌上写着数字 S,那么自己等的人手上的号码牌数字的所有正约数之和必定等于 S。

所以燕姿总是拿着号码牌在地铁和人海找数字(喂!这样真的靠谱吗)可是她忙着唱《绿光》,想拜托你写一个程序能够快速地找到所有自己等的人。
输入格式:

输入包含k
组数据。对于每组数据,输入包含一个号码牌S。

输出格式:
对于每组数据,输出有两行,第一行包含一个整数m,表示有m个等的人。
第二行包含相应的m

个数,表示所有等的人的号码牌。
注意:你输出的号码牌必须按照升序排列。
【Input】

  42

【Output】

  320 26 41

【分析】
首先这题要用到几个数论里的定理,当我第一眼看这些定理的时候,我是很懵逼的。先给出定理的公式。
首先,这里要用到
1.惟一分解定理:在这里插入图片描述

2.约数和定理 :
在这里插入图片描述
首先惟一分解定理:每个大于1的自然数n均可分解为有限个素数之积,就比如
【Input】

12

【Output】

2 2 
3 1

下面是代码实现

#include<bits/stdc++.h>
using namespace std;
void fta(int n)
{for(int i=2;i*i<=n;++i){int a=0;if(n%i==0){while(n%i==0){n/=i;a++;}printf("%d %d\n",i,a);}}if(n>1){printf("%d %d\n",n,1);}
}
int main ()
{int n;cin>>n;f

这篇关于聪明的燕姿(数论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

数论ZOJ 2562

题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个。 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数。 性质一:一个反素数的质因子必然是从2开始连续的质数。 性质二:p=2^t1*3^t2*5^t3*7

POJ2247数论

p = 2^a*3^b*5^c*7^d 求形如上式的第n小的数。 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.u

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18

CSP-J基础之数学基础 初等数论 一篇搞懂(二)

文章目录 前言算术基本定理简介什么是质数?举个简单例子:重要的结论:算术基本定理公式解释:举例: 算术基本定理的求法如何找出质因数:举个简单的例子: 重要的步骤:C++实现 同余举个例子:同余的性质简介1. 同余的自反性2. 同余的对称性3. 同余的传递性4. 同余的加法性质5. 同余的乘法性质 推论 总结 前言 在计算机科学和数学中,初等数论是一个重要的基础领域,涉及到整数

2014年暑假培训 - 数论

A银河上的星星 /**************************************************************     Problem: 1014     User: DoubleQ     Language: C++     Result: Accepted     Time:190 ms     Memor

ZOJ1007(数论)

题目链接:点击打开链接 解题思路:   纯粹的数学题,没有输入,直接要求输出.直接给出的求和式子极限到无穷,无法直接计算.Hint里给出了提示,大意就是说求g(x) - g(1)的求和极限,最后再加上g(1)就能求出g(x).   由g(x)  - g(1) 能够得出 1 / k*(k+x) - 1 / k * (k + 1) = (1 - x) / k * ( k + 1) * (k

每日一题~cf 970 div3 (A思维,B小模拟,C二分,D排列数建图成环,E 26个字母暴力+前缀和,F 逆元,G 数论gcd )

A 题意: 有 a 个1 ,b 个2.问是否能将这些数划分为两个数值相等的集合。 输出 YES 或者 NO —————— 问题等价于 将数组 分成两个数值相同的数组。所以sum 应该是偶数。也就是说 1 的个数是偶数。在i1的个数是偶数的情况下,将 2 分成两份,如果2 的个数是偶数,OK。如果是奇数那么需要1来补齐,如果1 的个数大于等于2那么可以补齐。(1 的个数是偶数,需要2个1来补齐,剩下

生成式AI让你提出高智商问题,让你看起来超聪明

你可以使用生成式AI来提出极其聪明的问题,这些问题对于各种目的和意图都非常有用。 你想表现得聪明绝顶吗? 我相信大多数人都想。 如果你不熟悉“聪明绝顶”这个词,它在1997年的电影《心灵捕手》中流行起来,当时本·阿弗莱克的角色说他的朋友聪明绝顶,这是一种波士顿人常用的表达,表示某人非常聪明。这个地方性俚语从那时起就被广泛使用,并且非常朗朗上口。 让一个人看起来特别聪明的方式之一就是通过他们

转】聪明的iOS开发者的Xcode使用技巧

【转】聪明的iOS开发者的Xcode使用技巧 用Xcode的快捷方式快速打开你的文件 在开始使用Xcode之前就应该强制记忆其快速打开(Open Quickly)的快捷方式。Mac OS X有一个功能叫做Spotlight搜索(空格),可以帮你找到文件和应用程序(包括别的文件)。快速打开就是Xcode的Spotlight搜索。我经常使用快速打开这个快捷方式,因为这是打开一个文件最