平成の次の元号を99.9999%当てる最も簡単な方法

#"平成の次の元号は何？"

この記事はQiita史上、最も**テキトー**な自然言語処理です。

#条件

|使用言語:|C++11|
|:---|:---|
|**文字コード:**|**Shift-Jis**|

###**Shift-Jis**を選んだ理由

はっきり言って**"Shift-Jis"**は好きじゃないです。
世界中の文字が使える**"UTF-8"**が好きです。

しかし、**漢字のみ**を処理するなら
**Shift-Jis**は**2バイト**のみで処理できるため
実装が凄まじく楽です。**(UTF-8 は 3バイト必要)**

なので、**Shift-Jis**を使います。

#C++11で実装

```cpp:EraName.hpp
#pragma once
#include <cstdint>
#include <iostream>

namespace era {

	void eraName2(char* const, const bool);
	void eraName1(char* const str_, const bool on_ = true) {
		const std::size_t size = (on_) ? (std::size_t)0 : (std::size_t)2;
		for (std::int_fast32_t i{ 0x88 }; i < 0xa0; ++i) {
			str_[size] = (char)i;
			eraName2(str_, on_);
		}
	}

	void eraName2(char* const str_, const bool on_) {
		const std::size_t size = (on_) ? (std::size_t)1 : (std::size_t)3;
		for (std::int_fast32_t i{ 0x40 }; i < 0xfd; ++i) {
			str_[size] = (char)i;
			std::cout << str_;
			if (on_) eraName1(str_, false);
			else std::cout << ' ';
		}
	}

	void printEraName() {
		char str[5]{};
		eraName1(str);
	}
}
```

```cpp:Source.cpp
#include "EraName.hpp"
int main() {
	era::printEraName();
	return 0;
}
```

#C99で実装(C言語)

```cpp:EraName.h
#pragma once
#include <stdint.h>
#include <stdio.h>

void eraName2(char* const, const int);
void eraName1(char* const str_, const int on_) {
	const size_t size = (on_ == 1) ? (size_t)0 : (size_t)2;
	for (int_fast32_t i = 0x88; i < 0xa0; ++i) {
		str_[size] = (char)i;
		eraName2(str_, on_);
	}
}

void eraName2(char* const str_, const int on_) {
	const size_t size = (on_ == 1) ? (size_t)1 : (size_t)3;
	for (int_fast32_t i = 0x40; i < 0xfd; ++i) {
		str_[size] = (char)i;
		printf("%s", str_);
		if (on_) eraName1(str_, 0);
		else printf(" ");
	}
}

void printEraName(void) {
	char str[5] = {};
	eraName1(str, 1);
}
```

```cpp:Source.c
#include "EraName.h"

int main(void) {
	printEraName();
	return 0;
}
```

#出力結果

とてつもなく長いので一部のみ貼り付けます。

```
蓮連 蓮錬 蓮呂 蓮魯 蓮櫓 蓮炉 蓮賂 蓮路 蓮露 蓮労 蓮婁 蓮廊 蓮弄 蓮朗 蓮楼 蓮榔 蓮浪 蓮漏 蓮牢 蓮狼 蓮篭 蓮老 蓮聾 蓮蝋 蓮郎 蓮六 蓮麓 蓮禄 蓮肋 蓮録 蓮論 蓮倭 蓮和 蓮話 蓮歪 蓮賄 蓮脇 蓮惑 蓮枠 蓮鷲 蓮亙 蓮亘 蓮鰐 蓮詫 蓮藁 蓮 蕨 蓮椀 蓮湾 蓮碗 蓮腕 蓮弌 蓮丐 蓮丕 蓮个 蓮丱 蓮丶 蓮丼 蓮丿 蓮乂 蓮乖 蓮乘 蓮亂 蓮亅 蓮豫 蓮亊 蓮舒 蓮弍 蓮于 蓮亞 蓮亟 蓮亠 蓮亢 蓮亰 蓮亳 蓮亶 蓮从 蓮仍 蓮仄 蓮仆 蓮仂 蓮仗 蓮仞 蓮仭 蓮仟 蓮价 蓮伉 蓮佚 蓮估 蓮佛 蓮佝 蓮佗 蓮佇 蓮佶 蓮侈 蓮侏 蓮侘 蓮佻 蓮佩 蓮佰 蓮侑 蓮佯 蓮來 蓮侖 蓮儘 蓮俔 蓮俟 蓮俎 蓮俘 蓮俛 蓮俑 蓮俚 蓮俐 蓮俤 蓮俥 蓮倚 蓮倨 蓮倔 蓮倪 蓮倥 蓮倅 蓮伜 蓮俶 蓮倡 蓮倩 蓮倬 蓮俾 蓮俯 蓮們 蓮倆 蓮偃 蓮假 蓮會 蓮偕 蓮偐 蓮偈 蓮做 蓮偖 蓮偬 蓮偸 蓮傀 蓮傚 蓮傅 蓮傴 蓮傲 連傲連蓮 連連 連錬 連呂 連魯 連櫓 連炉 連賂 連路 連露 連労 連婁 連廊 連弄 連朗 連楼 連榔 連浪 連漏 連牢 連狼 連篭 連老 連聾 連蝋 連郎 連六 連麓 連禄 連肋 連録 連論 連倭 連和 連話 連歪 連賄 連脇 連惑 連枠 連鷲 連亙 連亘 連鰐 連 詫 連藁 連蕨 連椀 連湾 連碗 連腕 連弌 連丐 連丕 連个 連丱 連丶 連丼 連丿 連乂 連乖 連乘 連亂 連亅 連豫 連亊 連舒 連弍 連于 連亞 連亟 連亠 連亢 連亰 連亳 連亶 連从 連仍 連仄 連仆 連仂 連仗 連仞 連仭 連仟 連价 連伉 連佚 連估 連佛 連佝 連佗 連佇 連佶 連侈 連侏 連侘 連佻 連佩 連佰 連侑 連佯 連來 連侖 連儘 連俔 連俟 連俎 連俘 連俛 連俑 連俚 連俐 連俤 連俥 連倚 連倨 連倔 連倪 連倥 連倅 連伜 連俶 連倡 連倩 連倬 連俾 連俯 連們 連倆 連偃 連假 連會 連偕 連偐 連偈 連做 連偖 連偬 連偸 連傀 連傚 連傅 連傴 連傲 錬傲錬蓮 錬連 錬錬 錬呂 錬魯 錬櫓 錬炉 錬賂 錬路 錬露 錬労 錬婁 錬廊 錬弄 錬朗 錬楼 錬榔 錬浪 錬漏 錬牢 錬狼 錬篭 錬老 錬聾 錬蝋 錬郎 錬六 錬麓 錬禄 錬肋 錬録 錬論 錬倭 錬和 錬話 錬歪 錬賄 錬脇 錬惑 錬枠 錬鷲 錬亙 錬 亘 錬鰐 錬詫 錬藁 錬蕨 錬椀 錬湾 錬碗 錬腕 錬弌 錬丐 錬丕 錬个 錬丱 錬丶 錬丼 錬丿 錬乂 錬乖 錬乘 錬亂 錬亅 錬豫 錬亊 錬舒 錬弍 錬于 錬亞 錬亟 錬亠 錬亢 錬亰 錬亳 錬亶 錬从 錬仍 錬仄 錬仆 錬仂 錬仗 錬仞 錬仭 錬仟 錬价 錬伉 錬佚 錬估 錬佛 錬佝 錬佗 錬佇 錬佶 錬侈 錬侏 錬侘 錬佻 錬佩 錬佰 錬侑 錬佯 錬來 錬侖 錬儘 錬俔 錬俟 錬俎 錬俘 錬俛 錬俑 錬俚 錬俐 錬俤 錬俥 錬倚 錬倨 錬倔 錬倪 錬倥 錬倅 錬伜 錬俶 錬倡 錬倩 錬倬 錬俾 錬俯 錬們 錬倆 錬偃 錬假 錬會 錬偕 錬偐 錬偈 錬做 錬偖 錬偬 錬偸 錬傀 錬傚 錬傅 錬傴 錬傲 呂傲呂蓮 呂連 呂錬 呂呂 呂魯 呂櫓 呂炉 呂賂 呂路 呂露 呂労 呂婁 呂廊 呂弄 呂朗 呂楼 呂榔 呂浪 呂漏 呂牢 呂狼 呂篭 呂老 呂聾 呂蝋 呂郎 呂六 呂麓 呂禄 呂肋 呂録 呂論 呂倭 呂和 呂話 呂歪 呂賄 呂脇 呂惑 呂枠 呂 鷲 呂亙 呂亘 呂鰐 呂詫 呂藁 呂蕨 呂椀 呂湾 呂碗 呂腕 呂弌 呂丐 呂丕 呂个 呂丱 呂丶 呂丼 呂丿 呂乂 呂乖 呂乘 呂亂 呂亅 呂豫 呂亊 呂舒 呂弍 呂于 呂亞 呂亟 呂亠 呂亢 呂亰 呂亳 呂亶 呂从 呂仍 呂仄 呂仆 呂仂 呂仗 呂仞 呂仭 呂仟 呂价 呂伉 呂佚 呂估 呂佛 呂佝 呂佗 呂佇 呂佶 呂侈 呂侏 呂侘 呂佻 呂佩 呂佰 呂侑 呂佯 呂來 呂侖 呂儘 呂俔 呂俟 呂俎 呂俘 呂俛 呂俑 呂俚 呂俐 呂俤 呂俥 呂倚 呂倨 呂倔 呂倪 呂倥 呂倅 呂伜 呂俶 呂倡 呂倩 呂倬 呂俾 呂俯 呂們 呂倆 呂偃 呂假 呂會 呂偕 呂偐 呂偈 呂做 呂偖 呂偬 呂偸 呂傀 呂傚 呂傅 呂傴 呂傲 魯傲魯蓮 魯連 魯錬 魯呂 魯魯 魯櫓 魯炉 魯賂 魯路 魯露 魯労 魯婁 魯廊 魯弄 魯朗 魯楼 魯榔 魯浪 魯漏 魯牢 魯狼 魯篭 魯老 魯聾 魯蝋 魯郎 魯六 魯麓 魯禄 魯肋 魯録
```

このように**20579832**通りの**元号**が出力されます。

これであなたも予言者です！

##ソースコードのライセンス

These codes are licensed under CC0.
[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg "CC0")](http://creativecommons.org/publicdomain/zero/1.0/deed.ja)