本博客内容为算法竞赛入门经典(第二版)课后习题。基于C++11语言编写的。为原创,并没有参考源代码。由于作者处于学习中。难免在算法中会有一些错误。读者发现错误可以留言一起讨论。代码仅供参考,如有引用,请注明出处。
本次使用了多文件。
第一个文件 SUBSEQUENCE.h
#pragma once
class SUBSEQUENCE
{
public:
SUBSEQUENCE();
~SUBSEQUENCE();
void show();
void scanf_sub();
void algorithm();
private:
int n, m;
double sum;
};
第二个文件SUBSEQUENCE.cpp
#include "SUBSEQUENCE.h"
#include <iostream>
#include <cmath>
#include <iomanip>
SUBSEQUENCE::SUBSEQUENCE()
{
sum = 0;
}
SUBSEQUENCE::~SUBSEQUENCE()
{
}
void SUBSEQUENCE::algorithm()
{
for (int i = n; i <= m; i++)
{
sum += 1.0 / (pow(double(i),2));
}
}
void SUBSEQUENCE::show()
{
std::cout << "Case 1: " << std::setprecision(5) << sum << std::endl;
}
void SUBSEQUENCE::scanf_sub()
{
std::cin >> n >> m;
while ((0 >= n) || (n >= m))
{
std::cout << "你输入的数据有误,请重新输入!" << std::endl;
std::cin >> n >> m;
}
}
第三个文件main.cpp
#include "SUBSEQUENCE.h"
int main()
{
SUBSEQUENCE sub1;
sub1.scanf_sub();
sub1.algorithm();
sub1.show();
return 0;
}