打表(1215)七夕节
人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下:
数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6.
你想知道你的另一半吗?
1 #include <stdio.h> 2 #include <math.h> 3 #include <queue> 4 #include <vector> 5 #include <stack> 6 #include <map> 7 #include <string> 8 #include <cstring> 9 #include <algorithm> 10 #include <iostream> 11 #define maxe 500000 12 int a[500010]; 13 int main() 14 { 15 int T,i,j; 16 scanf("%d",&T); 17 memset(a,0,sizeof(a)); 18 for(i=1;i<=maxe;i++) 19 { 20 for(j=2;i*j<=maxe;j++) 21 { 22 a[i*j]=a[i*j]+i; 23 } 24 } 25 int n; 26 while(T--) 27 { 28 scanf("%d",&n); 29 printf("%d\n",a[n]); 30 } 31 return 0; 32 33 }
下面是来自别人的博客:
1.素数打表,这个就不说了,基本功。
2.接下来就是这个问题的关键:素分解。不会的可以移步这篇文章:http://wenku.baidu.com/view/e55ca209ba1aa8114431d98a.html
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<string> 5 #include<cmath> 6 #include<algorithm> 7 using namespace std; 8 9 #define CLR(arr, what) memset(arr, what, sizeof(arr)) 10 const int N = 500002; 11 12 int prim[N]; 13 bool visit[N]; 14 15 void fast_prim() //素数打表 16 { 17 memset(visit, true, sizeof(visit)); 18 int limit = (int)sqrt(N * 1.0); 19 for(int i = 2; i < limit; ++i) 20 if(visit[i]) 21 for(int j = i * i; j < N; j += i) 22 visit[j] = false; 23 for(int i = 2, j = 0; i < 10000; ++i) 24 if(visit[i]) 25 prim[j++] = i; 26 } 27 28 int prim_reduce(int n) //整数素分解 29 { 30 int limit, num, sum, total = 1, temp = n; 31 limit = sqrt(N * 1.0); 32 for(int i = 0; prim[i] * prim[i] <= n; ++i) 33 { 34 num = sum = 1; 35 if(n == 1) 36 break; 37 while(n % prim[i] == 0) 38 { 39 num *= prim[i]; 40 n /= prim[i]; 41 sum += num; 42 } 43 total *= sum; 44 } 45 if(n != 1) 46 total *= (n + 1); 47 return total - temp; 48 } 49 50 int main() 51 { 52 fast_prim(); 53 int ncase; 54 int num; 55 scanf("%d", &ncase); 56 while(ncase--) 57 { 58 scanf("%d", &num); 59 if(num == 1) 60 { 61 printf("0\n"); 62 continue; 63 } 64 else if(visit[num]) 65 { 66 printf("1\n"); 67 continue; 68 } 69 else 70 printf("%d\n", prim_reduce(num)); 71 } 72 return 0; 73 }
在于打表的过程不同,这种方法是解决这种问题的通法
转载于:https://www.cnblogs.com/wangmengmeng/p/4701911.html
打表(1215)七夕节相关推荐
- HDU 1215 七夕节
/* 题目大意:求一个数的合数 解题思路:利用打表将各个数的因子有加到一起,最后再减去自身就可以了 难点详解:在打表的时候注意第二个for循环的使用,为了大大减少运行次数,用i*j限定运行次数 关键点 ...
- HDU 1215 七夕节 数论
七夕节 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 七夕节 ...
- hdu 1215 七夕节
百度之星编程大赛--您报名了吗? 杭电ACM 2014暑期集训队--选拔安排~ 七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 【 HDU - 1215 】七夕节(数论,约数和公式)
题干: 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道 ...
- 七夕节,程序员们都怎么哄女朋友开心?
大家好,马上就七夕节了,七夕节是牛郎织女鹊桥相会的相会的日子. 这篇文章的前提是,你得有个女朋友,没有就先收藏着吧! 一.七夕节的由来 七夕节的来源是梁山伯与祝英台的美丽传说,化成了一对蝴蝶~ 美丽的 ...
- HDU1215 七夕节【水题】
七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- 七夕节最深情表白文案从此告别搓衣板
七夕是中国传统的情人节,在这充满浪漫氛围的一天,给心上人表白会更容易成功哦!下面是小编给大家整理的关于2022七夕节最深情表白文案80句_过七夕情人节暖心问候语,欢迎大家参考参考 七夕节最深情表白文案 ...
- 【七夕节】html+css+JavaScript+服务器 给女朋友的七夕过节网站
目录 前言 记录一起走过的那些日子 创意代码表白 进入第一部分:记录趣事的爱情话匣子 进入第二部分:恋爱纪念册 进入第三部分:爱情相册 登录界面 纪念册 相册 前言 七夕来袭!这是中国人的情人节,不是 ...
- 七夕活动主题html邮件,七夕节活动主题口号
七夕节活动主题口号 织女不用敛蛾眉,前度牛郎今又回.鹊桥执手望泪眼,良辰美景不思归.下面是小编整理的七夕节活动主题口号,希望对你有帮助! [七夕餐饮广告口号] "长久"酒店一直为您 ...
- 七夕节马上要到了,前端工程师,后端工程师,算法工程师都怎么哄女朋友开心?
这篇文章的前提是,你得有个女朋友,没有就先收藏着吧! 七夕节的来源是梁山伯与祝英台的美丽传说,化成了一对蝴蝶~ 美丽的神话!虽然现在一般是过214的情人节了,但是不得不说,古老的传统的文化遗产,还是要 ...
最新文章
- 无序数组及其子序列的相关问题研究
- Java-NIO(九):管道 (Pipe)
- python下载安装教程2.7-Linux下安装python-2.7
- SpringMVC的请求-获得请求参数-参数绑定注解@RequestParam
- 禁止MT在公式后面自动添加一个空格
- C#中配置文件保存的路径
- rabbitMQ windows 下安装
- HLSL效果框架-多光源效果
- Java常见面试题含答案(第一期)
- matlab上位机串口通信中如何发送16进制数,而不是当做ASCII字符发送(已实测成功)
- html5中背景图片的大小怎么调,css中怎么改变背景图片大小?
- ffmpeg 有声视频合成背景音乐(合成多声音/合成多音轨)
- 科学计算线性方程组的几个实例
- RPA学习天地:艺赛旗RPA机器人的4种类型和区别介绍
- 混沌研习社-《创业反思-成为更加优秀的自己》 百度云下载
- 大学物理·第7章恒定磁场
- mysql marked crashed_MySQL解决is marked as crashed and should be repaired故障
- c语言存储对局信息,[蓝桥杯][2017年第八届真题]对局匹配 (C语言代码)
- CT图片分类神经网络
- 联想 win7 和 苹果macbook 登录密码忘记 解决方法