c ++中基本程序运行缓慢

时间:2017-03-06 01:57:36

标签: c++

我正在解决从文件中读取输入的问题(两个字符串,所有大写字母最多6个字母)。然后将字符转换为ascii并移位,以便" A"表示为1," Z"然后计算这些数字的乘积。然后检查这两个串的乘积是否等效(模47)。如果它们是等价的," GO"输出到文件。如果他们不相同"保持"是输出。程序运行并产生所需的输出,但是当它不应该花费那么长时间运行需要1秒钟。任何人都可以告诉我为什么运行时是> 1秒钟?

这是我的代码,它不会太长:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
  ofstream fout ("ride.out"); //create files
  ifstream fin ("ride.in");
  string cometName, groupName; //initialize vars
  fin >> cometName >> groupName;
  fin.close();
  int cometSum = 1;
  int groupSum = 1;
  int & cometSumAlias = cometSum;
  int & groupSumAlias = groupSum;

  for (char & c : cometName) {//iterate through strings and multiply chars
    cometSumAlias *= (c - 64);
  }
  for (char & c : groupName) {
    groupSumAlias *= (c - 64);
  }

  if (cometSumAlias % 47 == groupSumAlias % 47) {//equivalency check
    fout << "GO" << endl; //output to file
  } else {
    fout << "STAY" << endl;
  }
  fout.close();

  return 0;
}

0 个答案:

没有答案