如何解决如何打印出其他可能性中ascii 总和最低的字符串
我正在编写一个程序,该程序创建具有 x 个不同值的长度为 n 的字符串,但是要求创建的字符串应具有最低的 ascii sum ,我的代码创建了具有 x 个不同值的 n 长度字符串,但它不会创建最低的 ascii 值字符串,需要帮助,我做错了什么
int main()
int n,x;
int p= 97;
cin>>n;
cin>>x;
if (n<x || x==1){
cout<< "00";
}
else {
for(int j = 0; j<n ; j++)
{
char ans = (char)(p+(j%x));
cout << ans;
}
}
return 0;
}
解决方法
如果你需要有 x
不同的字符但需要最低的 ASCII 值字符串,你需要做一个简单的观察:贪婪地插入尽可能多的 'a'(n-x+1
,精确的)。由于您需要除 'a' 之外的 x-1
个不同字符,请按顺序插入 'b'、'c' 等。
这个怎么样?
char ans = (char)(p + (j % 26));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。