题目大意:
算盘模拟题,从小到大来看,左边珠子向右移动一格为5,右边珠子向左边移动一格+1
由于没0没有特判,WA了一次。
#include <cstdio>
#include <cstring>
using namespace std;
void print(int t) {
if(t / 5 == 0) {
printf("O-|");
}else {
printf("-O|");
}
int tmp = t % 5;
for(int i = 0; i < tmp; i++) {
printf("O");
}
printf("-");
for(int i = tmp+1; i < 5; i++) {
printf("O");
}
printf("\n");
}
int main() {
int num;
while(scanf("%d",&num) != EOF) {
int t;
if(num == 0) {
printf("O-|-OOOO\n");
continue;
}
while(num) {
t = num % 10;
print(t);
num /= 10;
}
}
return 0;
}
算盘模拟算法解析与优化
本文详细介绍了算盘模拟题目的核心算法实现,通过优化处理逻辑,避免了WA错误,实现了从左到右的珠子移动逻辑,适用于进阶算法学习。
3237

被折叠的 条评论
为什么被折叠?



