zoukankan      html  css  js  c++  java
  • 每日编程-20170310

    题目:如果一个数字能表示为p^q(^表示幂运算)且p为一个素数,q为大于1的正整数就称这个数叫做超级素数幂。现在给出一个正整数n,如果n是一个超级素数幂需要找出对应的p,q。
    输入描述:
    输入一个正整数n(2 ≤ n ≤ 10^18)

    输出描述:
    如果n是一个超级素数幂则输出p,q,以空格分隔,行末无空格。
    如果n不是超级素数幂,则输出No

    输入例子:
    27

    输出例子:
    3 3

    解答:

     1 #include <iostream>
     2 #include <math.h>
     3 using namespace std;
     4 
     5 
     6 int main() {
     7     long long n, m, i = 0, j = 2;
     8     cin >> n;
     9     long long genhaoN = (long long)sqrt(n)+1;
    10     for (; j <= genhaoN; j++)
    11     {
    12         m = n;
    13         i = 0;
    14         while (m%j == 0 && m != 0)
    15         {
    16             m /= j;
    17             i++;
    18         }
    19         if (m == 1)
    20         {
    21             cout << j << " " << i << endl;
    22             break;
    23         }
    24     }
    25     if (m != 1)
    26     {
    27         cout << "No" << endl;
    28     }
    29 }
  • 相关阅读:
    C++中求类的大小
    BP神经网络
    感知机
    static和const关键字
    C++随笔(2)
    React表单元素的使用
    React可控组件与不可控组件
    React组件-mixin
    React-组件嵌套-子组件通过委托向父组件传值
    React事件属性
  • 原文地址:https://www.cnblogs.com/linhaowei0389/p/6532732.html
Copyright © 2011-2022 走看看