63 质因数分解

题目描述

已知正整数 是两个不同的质数的乘积,试求出较大的那个质数。

输入格式

输入只有一行,包含一个正整数

输出格式

输出只有一行,包含一个正整数 ,即较大的那个质数。

样例

样例输入

21
样例输出

7
数据范围与提示

对于 的数据,
对于全部数据,

分类标签

[2012] [NOIp 普及组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int a;
int b;
int c;
int d;


bool fn(int x) {
  int e = sqrt(x);
  for (int j = 2; j <= e; j++) {
    if ((x%j) == 0) {
      return false;
    }
  }
  return true;
}

// The main procedure
int main() {
  cin>>a;
  b = sqrt(a);
  for (int i = 2; i <= b; i++) {
    if ((a%i) == 0) {
      c = (a/i);
      if (fn(c)) {
        cout<<c;
      }
    }
  }
  return 0;
}

Blockly题解代码图片