hdu1215七夕节 筛素数+素因子分解+乘法公式
来源:互联网 发布:centos php5.6 lamp 编辑:程序博客网 时间:2024/05/01 00:39
/****************************8
这题暴力肯定要超时,换一种思路,把一个数变化成素因子相乘的形式
那么a=p1^e1*p2^e2...pn^en
所有除a以外的因子之和=(p1^0+p1^1+..p1^e1)*(p2^0+p2^1+...)...*(pn^0+pn^1+...pn^en)-p1^e1*p2^e2*...pn^en
然后就出来了。。。我摔,刚才发现p1^e1*p2^e2*...pn^en不需要求了直接就是a了= =
代码就这样吧
ps..之前图方便用pow函数,,结果就各种不对,后来百度才发现pow的参数类型= =好吧没见有int int的
*****************************/
七夕节
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24817 Accepted Submission(s): 7686
Problem Description
七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!"
人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下:
数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6.
你想知道你的另一半吗?
人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下:
数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6.
你想知道你的另一半吗?
Input
输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).
Output
对于每组测试数据,请输出一个代表输入数据N的另一半的编号.
Sample Input
321020
Sample Output
1822
# include<stdio.h># include<math.h>const int maxn=500005;bool isPrime[maxn]={0};int prime[maxn/10], num=0;void getPrime(int n) //筛素数,并把素数存到prime数组里{ int t; for(int i=2; i<=n; i++) { if(isPrime[i]==0) { prime[num++] = i; for(int j=2; (t=j*i)<=n; j++) isPrime[t]=1; } }}int main(void){ getPrime(maxn-1); int t,i,j,a, cnt, n, temp, p, k, tmp; scanf("%d", &t); while(t--) { n=0; p=1; k=1; scanf("%d", &a); for(i=0; ; i++) { temp=0; cnt=0; if(a==1) break; while(a%prime[i]==0) { temp=1; a=a/prime[i]; cnt++; } if(temp) { tmp=1; for(j=0; j<cnt; j++) p*=prime[i]; for(j=0; j<=cnt; j++) tmp*=prime[i]; k*=(tmp-1)/(prime[i]-1); } } printf("%d\n", k-p); } return 0;}
- hdu1215七夕节 筛素数+素因子分解+乘法公式
- hdu1215 七夕节 (因子分解)
- hdu1215(七夕节,因子之和)
- hdu1215 七夕节 (数学:求因子之和)
- hdu1215 七夕节 (预处理,求x的因子和)
- HDU1215(七夕节)-----数论
- hdu1215 七夕节
- hdu1215 七夕节
- hdu1215七夕节
- HDU1215 七夕节
- hdu1215七夕节
- hdu1215 七夕节
- HDU1215--七夕节
- HDU1215 七夕节
- 【HDU1215】七夕节
- HDU1215七夕节
- hdu1215 七夕节
- HDU1215 七夕节 解题报告
- 网站建设与SEO--1,网站建设的初始准备
- 练习赛5.昆虫繁殖
- perror实现分析(2.0: 具体实现)
- 如何实现一个文件系统(六)
- shell中case的用法学习笔记
- hdu1215七夕节 筛素数+素因子分解+乘法公式
- spring集成Junit4配置
- BUS_ATTR(....)基础意义
- ubuntu 11.04的启动流程(启动服务的配置)
- 2011斯坦福大学iOS应用开发教程学习笔记(第二课)My First iOS App
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取"产品付费数量等于0的问题"】
- linux bash shell中case语句的实例
- 2011斯坦福大学iOS应用开发教程学习笔记(第三课)Objective-C
- const 指针与指向const的指针