p2141 [noip2014 普及组] 珠心算测验
时间: 2023-04-22 15:00:23 浏览: 238
题目描述:
珠心算是一种通过心算来完成运算的技巧。珠心算的原理是将数字拆分成若干个数位较小的数字,然后通过一些技巧将这些数字组合起来进行运算。例如,计算 123 × 456,可以将 123 拆分成 100 + 20 + 3,将 456 拆分成 400 + 50 + 6,然后进行如下的计算:
```
123
× 456
-----
738
615
49200
-----
56088
```
这个算式中,我们将 123 拆分成了 100 + 20 + 3,将 456 拆分成了 400 + 50 + 6,然后进行了 9 次乘法运算和 8 次加法运算。
现在,你的任务是编写一个程序,对于给定的两个数,计算它们的乘积,并输出进行的乘法和加法运算的次数。
输入格式
共一行,包含两个整数 a 和 b,表示要计算的两个数。
输出格式
共两行,第一行输出进行的乘法运算的次数,第二行输出进行的加法运算的次数。
数据范围
1≤a,b≤10000
输入样例:
123 456
输出样例:
9
8
解题思路:
珠心算的原理是将数字拆分成若干个数位较小的数字,然后通过一些技巧将这些数字组合起来进行运算。
我们可以将两个数分别拆分成若干个数位较小的数字,然后进行乘法运算和加法运算,最后统计乘法和加法运算的次数即可。
时间复杂度:O(n^2)
C++ 代码
相关问题
使用【c++】写【文本相似度分析】的代码[NOIP2014 普及组] 珠心算测验
对不起,您提到的是两个不同的主题,一个是关于“文本相似度分析”(Text Similarity Analysis),另一个是关于“NOIP2014普及组”的珠心算题目。不过,我可以帮你介绍如何用C++编写一个简单的文本相似度算法,如余弦相似度,用于衡量两个文本之间的相似度。这是个基础示例:
```cpp
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <cmath>
double computeCosineSimilarity(std::string str1, std::string str2) {
// 将字符串转化为小写并移除非字母字符
std::transform(str1.begin(), str1.end(), str1.begin(), ::tolower);
std::transform(str2.begin(), str2.end(), str2.begin(), ::tolower);
str1.erase(std::remove_if(str1.begin(), str1.end(), [](char c) { return !std::isalpha(c); }), str1.end());
str2.erase(std::remove_if(str2.begin(), str2.end(), [](char c) { return !std::isalpha(c); }), str2.end());
// 创建词频向量
std::vector<int> freq1(256, 0), freq2(256, 0);
for (char ch : str1)
freq1[ch]++;
for (char ch : str2)
freq2[ch]++;
// 计算余弦相似度
double dotProduct = 0;
double normStr1 = 0, normStr2 = 0;
for (int i = 0; i < 256; ++i) {
dotProduct += freq1[i] * freq2[i];
normStr1 += freq1[i] * freq1[i];
normStr2 += freq2[i] * freq2[i];
}
return dotProduct / (sqrt(normStr1) * sqrt(normStr2));
}
int main() {
std::string text1 = "Hello, world!";
std::string text2 = "World, hello!";
double similarity = computeCosineSimilarity(text1, text2);
std::cout << "Text similarity: " << similarity << "\n";
return 0;
}
```
请注意,这只是一个非常基础的示例,并未处理大规模文本数据,对于NOIP这样的竞赛题目可能需要更复杂的自然语言处理库或技术。
阅读全文
相关推荐















