1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int change(char*c) { if(strlen(c)==0) return 1; int i,s=0; for(i=0;i<strlen(c);i++) { s=s*10+c[i]-'0'; } return s; } main() { char a[100]; char b[100]; gets(a); int i,k=0,j; for(i=0;i<strlen(a);i++) { if(a[i]>='0'&&a[i]<='9') { b[k]=a[i]; k++; } else { b[k]='\0'; int x=change(b); for(j=1;j<=x;j++) { printf("%c",a[i]); } k=0; } } }C++ :
#include <iostream> #include <cstring> using namespace std; void scopy(char s[],int m,int n,char r[]){ int i,k = 0; for (i = m;i <= n;i++){ r[k] = s[i]; k++; } r[k] = '\0'; } int num(char s[]){ int i,c = 0,t = 1; for (i = strlen(s) - 1;i >= 0;i--){ c = c + (s[i] - 48) * t; t = t * 10; } return c; } int main(){ char a[2000]; char r[2000]; gets(a); int i,j,k = -1,c; for (i = 0;i < strlen(a);i++){ if (a[i] >= 'a' && a[i] <= 'z'){ if (i == 0 || a[i - 1] >= 'a' && a[i - 1] <= 'z'){ //cout<<1<<" "<<a[i]<<endl; c = 1; }else{ for (j = i - 1;j >= 0;j--){ if (a[j] >= 'a' && a[j] <= 'z'){ k = j; break; } } scopy(a,k + 1,i - 1,r); //cout<<r<<" "<<a[i]<<endl; c = num(r); } for (j = 1;j <= c;j++){ cout<<a[i]; } } } }Java :
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); int c = 0; int begin = 0; for(int i = 0;i < s.length();i++){ if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z'){ if(i == 0 || (s.charAt(i - 1) >= 'a' && s.charAt(i) <= 'z')){ c = 1; }else { for(int j = i - 1;j >= 0;j--){ if(s.charAt(j) >= 'a' && s.charAt(j) <= 'z'){ begin = j + 1; break; } } String num = s.substring(begin,i); c = Integer.parseInt(num); } //System.out.println(s.charAt(i) + " " + c); for(int j = 1;j <= c;j++){ System.out.print(s.charAt(i)); } } } } }Python :
a = input() s = '' for i in range(0,len(a)) : if a[i].isdigit(): s = s + a[i] else: if s == '': print(a[i],end = '') else: print(a[i]*int(s), end='') s = ''
- 1
信息
- ID
- 99
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 3
- 已通过
- 2
- 上传者