• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

╰☆惔、煙菋

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

随笔分类 -  数论

HDU_2136 Largest prime factor
摘要:刚开始时没考虑到时间问题,TLE 了好多次,刚开始是这样想的,先把素数筛出来,然后再找因为有几次TLE了,不得不换一种想法。在筛素数的时候就把相应素数的下表记下来,这样就省了好多时间下面贴代码#include<stdio.h> #include <string.h>#define max 1000000 int locat[max];int main(){ int i, j, n, m = 1; memset(locat, 0, sizeof(locat)); for (i = 2; i < max; ++ i) { if (locat[i]) continue; 阅读全文

posted @ 2011-04-03 11:47 ╰☆惔、煙菋 阅读(850) 评论(0) 推荐(0)

HDU_1492 The number of divisors(约数) about Humble Numbers
摘要:简单数论题 直接暴力算法#include <stdio.h>__int64 search(__int64 n, __int64 m){ __int64 sum = 0; while (n != 1) { if (n % m == 0) { sum ++; n /= m; } else break; } return sum;}int main(){ __int64 n, a, b, c, d, sum; while (scanf("%I64d", &n) && n) { a = b = c = d = 1; a += search(n, 阅读全文

posted @ 2011-04-02 15:18 ╰☆惔、煙菋 阅读(237) 评论(0) 推荐(0)

HDU_1299 Diophantus of Alexandria
摘要:整数分解: 任何一个正整数都可以表示成素数的x次方之积,所以本题就被转化成了求n ^2的素因子个数; 先把n分解得到 n = p1^e1 * p2^e2 * ......*pr^er 其中p是< n 的素数那么n 的素因子, 则n的因子个数k =(e1 + 1) * (e2 + 1) * (e3 + 1)*...... 所以:n ^2的因子数是k = (2*e1+1) * (2*e2+1)* (2*e3+1)......这个题还要注意一点就是当n是素数的时候,很显然 k *= 3,这样做得到的结果是题目要求的2倍#include <stdio.h>#include <m 阅读全文

posted @ 2011-04-02 14:42 ╰☆惔、煙菋 阅读(1006) 评论(0) 推荐(0)

 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3