#include <bits/stdc++.h>
using namespace std;
const double m = 1e-8;
string s;
double ans;
int main() {
printf("请输入你想要设置的密码: ");
cin >> s;
for (long long i = 0; i < s.size(); i++) {
if (isdigit(s[i]))
ans = ans * 10 + 10 * m;
else if (islower(s[i]))
ans = ans * 36 + 36 * m;
else if (isupper(s[i]))
ans = ans * 72 + 72 * m;
else
ans = ans * 95 + 95 * m;
}
printf("您的密码被破解需要大约 %.8lf 秒\n", ans);
if (ans <= 1e-4)
printf("大约相当于 %.4lf 微秒", ans * 1e6);
else if (ans <= 1)
return 0;
else if (ans <= 3600)
printf("大约相当于 %.4lf 分钟", ans * (1 / 60.0000000));
else if (ans <= 86400)
printf("大约相当于 %.4lf 小时", ans * (1 / 360.0000000));
else if (ans <= 86400 * 3)
printf("大约相当于 %.4lf 天", ans * (1 / 86400.0000000));
else if (ans <= 86400 * 360)
printf("大约相当于 %.4lf 个月", ans * (1 / 86400.0000000 / 30.0000000));
else if (ans <= 86400 * 36000)
printf("大约相当于 %.4lf 年", ans * (1 / 86400.0000000 / 360.0000000));
else
printf("大约相当于 %.4lf 世纪", ans * (1 / 86400.0000000 / 3600.0000000));
}
标签:ans,36,long,else,时间,72,拆分,printf
From: https://www.cnblogs.com/niuzeyu1/p/17612491.html