SELF DESCRIBING NUMBERS题解

编程入门 行业动态 更新时间:2024-10-08 13:30:46

SELF DESCRIBING NUMBERS<a href=https://www.elefans.com/category/jswz/34/1769599.html style=题解"/>

SELF DESCRIBING NUMBERS题解

这一题要采用逆向思维,不要去判断每个数字出现的有没有这么多,而是去统计数字出现的次数,反过来构造出对应的描述数字,如果描述数字跟原来的数字相等,那就是self described的数

#include <iostream>
#include <fstream>
#include <string>
using namespace std;string self_describe(string lineBuffer) {string res = "";size_t size = lineBuffer.size();int b[10] = {0};for(size_t i=0; i<size; i++) {++b[lineBuffer[i]-'0'];}for(size_t i=0; i<size; i++) {res += (b[i]+'0');}return res;
}int main (int argc, char* argv[]) 
{ifstream file;string lineBuffer;file.open(argv[1]);while (!file.eof()) {getline(file, lineBuffer);if (lineBuffer.length() == 0)continue; //ignore all empty lineselse {if(lineBuffer == self_describe(lineBuffer)) cout << "1\n";elsecout << "0\n";}}return 0;
}


更多推荐

SELF DESCRIBING NUMBERS题解

本文发布于:2024-02-14 06:00:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1762473.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:题解   DESCRIBING   NUMBERS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!