Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- void rotatefun(int, int*, int*);
- int main(){
- char arr[105] = {};
- int num[105] = {}, new_num[105] = {};
- int rotate = 1;
- scanf("%s", arr);
- int len = strlen(arr);
- for(int i = 0; i < len; i++){
- // change a string array with number and put it into a new int array
- num[i] = arr[i] - '0';
- }
- //for(int i = 0; i < len; i++) printf("%d", num[i]);
- for(int i = 0; i < len; i++){
- if(num[i] == 2 || num[i] == 3 || num[i] == 4 || num[i] == 7 ){
- rotate = 0;
- break;
- }
- else rotate = 1;
- }
- if(rotate == 0) printf("No\n");
- else {
- rotatefun(len, num, new_num);
- }
- return 0;
- }
- void rotatefun(int len, int *num, int *new_num){
- for(int i = 0; i < len; i++){
- if(num[i] == 6) num[i] = 9;
- else if(num[i] == 9) num[i] = 6;
- }
- for(int j = 0; j < len; j++){
- new_num[j] = num[len - 1 - j];
- //printf("%d\n", new_num[j]);
- }
- int k = 0;
- int zero = 0;
- //deleting leading zeroes
- while(k != len){
- if(new_num[k] == 0){
- zero = 1;
- k++;
- continue;
- } else if(new_num[k] != 0){
- break;
- }
- }
- //printf("k = %d ", k);
- if(zero == 1){
- for(int m = k; m < len - 1;m++){
- // starts from k-th element, delete leading zero
- printf("%d", new_num[m]);
- }
- printf("%d\n", new_num[len - 1]);
- } else if (zero == 0){
- for(int m = 0; m < len - 1; m++){
- // starts from element 0 because no leading zero
- printf("%d", new_num[m]);
- }
- printf("%d\n", new_num[len - 1]);
- }
- return;
- }
Add Comment
Please, Sign In to add comment