10213 质因数分解升级版

题目描述

求出区间[a,b]中所有整数的质因数分解。

输入格式

输入两个整数a,b。

输出格式

每行输出一个数的分解,形如k=a1a2a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例)

样例

输入 #1

3  10 

输出 #1

3=3 
4=2*2 
5=5 
6=2*3 
7=7 
8=2*2*2 
9=3*3 
10=2*5 
数据范围与提示 分类标签

[枚举]

C++题解代码

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

int a;
int b;


void fn(int x) {
  bool c = true;
  cout<<x;
  cout<<"=";
  for (int j = 2; j <= x; j++) {
    while ((x%j) == 0) {
      if (c) {
        c = false;
      } else {
        cout<<"*";
      }
      cout<<j;
      x = (x/j);
    }
  }
}

// The main procedure
int main() {
  cin>>a;
  cin>>b;
  for (int i = a; i <= b; i++) {
    if (i > a) {
      cout<<'\n';
    }
    fn(i);
  }
  return 0;
}

Blockly题解代码图片