zoukankan      html  css  js  c++  java
  • hdoj1215七夕节

     1 /*七夕节
     2 如果N=p_1^n_1*p_2^n2*......*p_m^n_m
     3 则结果为(p_1^0+p_1^1+...+p_1^n_1)*(p_2^0+p_2^1+...+p_2^n_2)*...*(p_m^0+p_m^1+...+p_m^n_m)-N
     4 */
     5 #include<iostream>
     6 #include<string.h>
     7 #include<stdio.h>
     8 using namespace std;
     9 int prime[500000], cnt, n, ans;
    10 bool primtmp[500002];
    11 int main()
    12 {
    13     cnt = 0;
    14     memset(primtmp, -1sizeof(primtmp));
    15     for (int i = 2; i <= 500000++i) {
    16     if (primtmp[i]) {
    17         prime[cnt++= i;
    18         int p = 2 * i;
    19         while (p <= 500000) {
    20         primtmp[p] = 0;
    21         p += i;
    22         }
    23     }
    24     }
    25     int T;
    26     scanf("%d"&T);
    27     while (T--) {
    28     scanf("%d"&n);
    29     int N = n, pos = 0;
    30     ans = 1;
    31     while (n > 1) {
    32         int ps = 1;
    33         while (n % prime[pos] == 0) {
    34         n /= prime[pos];
    35         ps *= prime[pos];
    36         ps++;
    37         }
    38         ans *= ps;
    39         pos++;
    40     }
    41     printf("%d\n", ans - N);
    42     }
    43 }


  • 相关阅读:
    类的加载次序与继承
    十进制转二进制算法
    面象对象与面象过程内存分区
    C/C++单向链表
    字符串与数字互相转换算法
    C#模拟进度条
    数据类型与类型转
    win7删除一些顽固的文件夹
    快速卸载VS2015的办法
    Js获取图片原始宽高
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904951.html
Copyright © 2011-2022 走看看