BC170. 牛牛的digit
描述
牛牛定义了一个函数 digit(x,i) ,表示分离出 x 的后 i 位的数字。输入描述
输入两个正整数 x 和 i输出描述
输出 x 的后 i 位数字示例1
输入:
23908 3
输出:
908
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-05-10
#include <stdio.h> #include <math.h> int digit(int x, int i) { int result = 0; result = x % (int)(pow(10,i)); return result; } int main() { int x = 0; int i = 0; scanf("%d %d",&x,&i); int result = digit(x,i); printf("%d\n",result); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-06-30
int digit(int x,int i) { int ret=0; int n=i,m=0; while(i!=0) { m+=x%10; x/=10; i--; if(i!=0) { m*=10; } } while(n!=0) { ret+=m%10; m/=10; n--; if(n!=0) { ret*=10; } } return ret; } int main() { int x=0,i=0; scanf("%d %d",&x,&i); printf("%d\n",digit(x,i)); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-04-17
#include<stdio.h> #include<math.h> int digit(int x,int i) { return x%(int)pow(10,i); } int main(){ int num=0; int i=0; scanf("%d %d",&num,&i); int ret=digit(num,i); printf("%d",ret); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-06-19
#include <stdio.h> #include <string.h> // int main(){ // char arr[20]; // int count; // scanf("%s %d", arr, &count); // int len = strlen(arr); // for(int i = len-count; i < len; i++) // printf("%c", arr[i]); // return 0; // } // #include <stdio.h> // int main(){ // int count, n, i = 1, sum = 0; // scanf("%d %d", &n, &count); // while(count--){ // sum += n % 10 * i; // n /= 10; // i *= 10; // } // while(i != 1){ // count ++; // i /= 10; // } // if(sum < 10){ // for(int j = 0; j < count; j++) // printf("0"); // } // printf("%d", sum); // return 0; // } #include <stdio.h> int compute(int n, int len, int i){ int res = n % 10 * i; if(len == 1) return res; return res + compute(n/10, len-1, i*10); } int main(){ int n, len, sum; scanf("%d %d", &n, &len); sum = compute(n, len, 1); if(sum < 10){ for(int j = 1; j < len; j++) printf("0"); } printf("%d", sum); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-05-24
#include<stdio.h> int digit(int x, int i) { if(i == 1) { return x % 10; } else { return digit(x / 10, i - 1) * 10 + x % 10; } } int main() { unsigned int x =0, i = 0; scanf("%d %d",&x,&i); int ret = digit(x, i); printf("%d",ret); return 0; }