336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
8진수로 변환만하면 되는 문제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include<cstdio> #include<cstring> #include<cmath> using namespace std; typedef long long lld; lld convert(char a){ switch(a){ case '-': return 0; case '\\': return 1; case '(': return 2; case '@': return 3; case '?': return 4; case '>': return 5; case '&': return 6; case '%': return 7; case '/': return -1; } return 0; } int main(){ while(1){ lld result = 0; char str[1111]; memset(str, 0x00, sizeof(str)); scanf("%s",str); if(str[0] == '#') return 0; int slen = strlen(str); int co = 0; for(int i = slen-1 ; i >= 0 ; i--){ lld coef = convert(str[co++]); result += coef * pow(8,i); } printf("%lld\n",result); } return 0; } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include<cstdio> #include<cstring> #include<cmath> using namespace std; typedef long long lld; lld convert(char a){ char t[] = "/-\\(@?>&%/\0"; for(int i = 0 ; t[i] != NULL ; i++) if(t[i]==a) return i-1; } int main(){ while(1){ lld res = 0; char str[1111]; scanf("%s",str); if(str[0] == '#') break; for(int i = strlen(str)-1, co = 0 ; i >= 0 ; i--){ lld coef = convert(str[co++]); res += coef * pow(8,i); } printf("%lld\n",res); } return 0; } | cs |