平成の次の元号を99.9999%当てる最も簡単な方法
"平成の次の元号は何?"
この記事はQiita史上、最もテキトーな自然言語処理です。
条件
使用言語: | C++11 |
---|---|
文字コード: | Shift-Jis |
Shift-Jisを選んだ理由
はっきり言って"Shift-Jis"は好きじゃないです。
世界中の文字が使える"UTF-8"が好きです。
しかし、漢字のみを処理するなら
Shift-Jisは2バイトのみで処理できるため
実装が凄まじく楽です。(UTF-8 は 3バイト必要)
なので、Shift-Jisを使います。
C++11で実装
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);
}
}
Source.cpp
#include "EraName.hpp"
int main() {
era::printEraName();
return 0;
}
C99で実装(C言語)
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);
}
Source.c
#include "EraName.h"
int main(void) {
printEraName();
return 0;
}
出力結果
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);
}
}
Source.cpp
#include "EraName.hpp"
int main() {
era::printEraName();
return 0;
}
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);
}
Source.c
#include "EraName.h"
int main(void) {
printEraName();
return 0;
}
出力結果
とてつもなく長いので一部のみ貼り付けます。
蓮連 蓮錬 蓮呂 蓮魯 蓮櫓 蓮炉 蓮賂 蓮路 蓮露 蓮労 蓮婁 蓮廊 蓮弄 蓮朗 蓮楼 蓮榔 蓮浪 蓮漏 蓮牢 蓮狼 蓮篭 蓮老 蓮聾 蓮蝋 蓮郎 蓮六 蓮麓 蓮禄 蓮肋 蓮録 蓮論 蓮倭 蓮和 蓮話 蓮歪 蓮賄 蓮脇 蓮惑 蓮枠 蓮鷲 蓮亙 蓮亘 蓮鰐 蓮詫 蓮藁 蓮 蕨 蓮椀 蓮湾 蓮碗 蓮腕 蓮弌 蓮丐 蓮丕 蓮个 蓮丱 蓮丶 蓮丼 蓮丿 蓮乂 蓮乖 蓮乘 蓮亂 蓮亅 蓮豫 蓮亊 蓮舒 蓮弍 蓮于 蓮亞 蓮亟 蓮亠 蓮亢 蓮亰 蓮亳 蓮亶 蓮从 蓮仍 蓮仄 蓮仆 蓮仂 蓮仗 蓮仞 蓮仭 蓮仟 蓮价 蓮伉 蓮佚 蓮估 蓮佛 蓮佝 蓮佗 蓮佇 蓮佶 蓮侈 蓮侏 蓮侘 蓮佻 蓮佩 蓮佰 蓮侑 蓮佯 蓮來 蓮侖 蓮儘 蓮俔 蓮俟 蓮俎 蓮俘 蓮俛 蓮俑 蓮俚 蓮俐 蓮俤 蓮俥 蓮倚 蓮倨 蓮倔 蓮倪 蓮倥 蓮倅 蓮伜 蓮俶 蓮倡 蓮倩 蓮倬 蓮俾 蓮俯 蓮們 蓮倆 蓮偃 蓮假 蓮會 蓮偕 蓮偐 蓮偈 蓮做 蓮偖 蓮偬 蓮偸 蓮傀 蓮傚 蓮傅 蓮傴 蓮傲 連傲連蓮 連連 連錬 連呂 連魯 連櫓 連炉 連賂 連路 連露 連労 連婁 連廊 連弄 連朗 連楼 連榔 連浪 連漏 連牢 連狼 連篭 連老 連聾 連蝋 連郎 連六 連麓 連禄 連肋 連録 連論 連倭 連和 連話 連歪 連賄 連脇 連惑 連枠 連鷲 連亙 連亘 連鰐 連 詫 連藁 連蕨 連椀 連湾 連碗 連腕 連弌 連丐 連丕 連个 連丱 連丶 連丼 連丿 連乂 連乖 連乘 連亂 連亅 連豫 連亊 連舒 連弍 連于 連亞 連亟 連亠 連亢 連亰 連亳 連亶 連从 連仍 連仄 連仆 連仂 連仗 連仞 連仭 連仟 連价 連伉 連佚 連估 連佛 連佝 連佗 連佇 連佶 連侈 連侏 連侘 連佻 連佩 連佰 連侑 連佯 連來 連侖 連儘 連俔 連俟 連俎 連俘 連俛 連俑 連俚 連俐 連俤 連俥 連倚 連倨 連倔 連倪 連倥 連倅 連伜 連俶 連倡 連倩 連倬 連俾 連俯 連們 連倆 連偃 連假 連會 連偕 連偐 連偈 連做 連偖 連偬 連偸 連傀 連傚 連傅 連傴 連傲 錬傲錬蓮 錬連 錬錬 錬呂 錬魯 錬櫓 錬炉 錬賂 錬路 錬露 錬労 錬婁 錬廊 錬弄 錬朗 錬楼 錬榔 錬浪 錬漏 錬牢 錬狼 錬篭 錬老 錬聾 錬蝋 錬郎 錬六 錬麓 錬禄 錬肋 錬録 錬論 錬倭 錬和 錬話 錬歪 錬賄 錬脇 錬惑 錬枠 錬鷲 錬亙 錬 亘 錬鰐 錬詫 錬藁 錬蕨 錬椀 錬湾 錬碗 錬腕 錬弌 錬丐 錬丕 錬个 錬丱 錬丶 錬丼 錬丿 錬乂 錬乖 錬乘 錬亂 錬亅 錬豫 錬亊 錬舒 錬弍 錬于 錬亞 錬亟 錬亠 錬亢 錬亰 錬亳 錬亶 錬从 錬仍 錬仄 錬仆 錬仂 錬仗 錬仞 錬仭 錬仟 錬价 錬伉 錬佚 錬估 錬佛 錬佝 錬佗 錬佇 錬佶 錬侈 錬侏 錬侘 錬佻 錬佩 錬佰 錬侑 錬佯 錬來 錬侖 錬儘 錬俔 錬俟 錬俎 錬俘 錬俛 錬俑 錬俚 錬俐 錬俤 錬俥 錬倚 錬倨 錬倔 錬倪 錬倥 錬倅 錬伜 錬俶 錬倡 錬倩 錬倬 錬俾 錬俯 錬們 錬倆 錬偃 錬假 錬會 錬偕 錬偐 錬偈 錬做 錬偖 錬偬 錬偸 錬傀 錬傚 錬傅 錬傴 錬傲 呂傲呂蓮 呂連 呂錬 呂呂 呂魯 呂櫓 呂炉 呂賂 呂路 呂露 呂労 呂婁 呂廊 呂弄 呂朗 呂楼 呂榔 呂浪 呂漏 呂牢 呂狼 呂篭 呂老 呂聾 呂蝋 呂郎 呂六 呂麓 呂禄 呂肋 呂録 呂論 呂倭 呂和 呂話 呂歪 呂賄 呂脇 呂惑 呂枠 呂 鷲 呂亙 呂亘 呂鰐 呂詫 呂藁 呂蕨 呂椀 呂湾 呂碗 呂腕 呂弌 呂丐 呂丕 呂个 呂丱 呂丶 呂丼 呂丿 呂乂 呂乖 呂乘 呂亂 呂亅 呂豫 呂亊 呂舒 呂弍 呂于 呂亞 呂亟 呂亠 呂亢 呂亰 呂亳 呂亶 呂从 呂仍 呂仄 呂仆 呂仂 呂仗 呂仞 呂仭 呂仟 呂价 呂伉 呂佚 呂估 呂佛 呂佝 呂佗 呂佇 呂佶 呂侈 呂侏 呂侘 呂佻 呂佩 呂佰 呂侑 呂佯 呂來 呂侖 呂儘 呂俔 呂俟 呂俎 呂俘 呂俛 呂俑 呂俚 呂俐 呂俤 呂俥 呂倚 呂倨 呂倔 呂倪 呂倥 呂倅 呂伜 呂俶 呂倡 呂倩 呂倬 呂俾 呂俯 呂們 呂倆 呂偃 呂假 呂會 呂偕 呂偐 呂偈 呂做 呂偖 呂偬 呂偸 呂傀 呂傚 呂傅 呂傴 呂傲 魯傲魯蓮 魯連 魯錬 魯呂 魯魯 魯櫓 魯炉 魯賂 魯路 魯露 魯労 魯婁 魯廊 魯弄 魯朗 魯楼 魯榔 魯浪 魯漏 魯牢 魯狼 魯篭 魯老 魯聾 魯蝋 魯郎 魯六 魯麓 魯禄 魯肋 魯録
このように20579832通りの元号が出力されます。
これであなたも予言者です!
ソースコードのライセンス
Author And Source
この問題について(平成の次の元号を99.9999%当てる最も簡単な方法), 我々は、より多くの情報をここで見つけました https://qiita.com/gis/items/f7d30a958ec271de0e2d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .