1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int main() { int a,n,x,i,l; int qq[100]; while(scanf("%d%d",&a,&n)!=EOF) { l=0; x=n; int tt[200]={0}; while(n) { memset(qq,0,sizeof(int)*100); for(i=n-1;i>=0;i--) { qq[i]=a; } for(i=0;i<n;i++) { tt[i]+=qq[i]; } n--; } for(i=0;i<200;i++) { if(tt[i]>=10) { tt[i+1]+=tt[i]/10; tt[i]%=10; } } for(i=199;i>=0;i--) { if(tt[i]!=0)l=1; if(l==1)printf("%d",tt[i]); } printf("\n"); } return 0; }
C++ :
#include<stdio.h> #include<string.h> void Add(char *str1,char *str2,char *str3) { int i,j,i1,i2,tmp,carry; int len1=strlen(str1),len2=strlen(str2); char ch; i1=len1-1; i2=len2-1; j=carry=0; for(;i1>=0&&i2>=0;++j,--i1,--i2) { tmp=str1[i1]-'0'+str2[i2]-'0'+carry; carry=tmp/10; str3[j]=tmp%10+'0'; } while(i1>=0) { tmp=str1[i1--]-'0'+carry; carry=tmp/10; str3[j++]=tmp%10+'0'; } while(i2>=0) { tmp=str2[i2--]-'0'+carry; carry=tmp/10; str3[j++]=tmp%10+'0'; } if(carry) str3[j++]=carry+'0'; str3[j]='\0'; for(i=0,--j;i<j;++i,--j) { ch=str3[i]; str3[i]=str3[j]; str3[j]=ch; } } int main() { char s[200],t[200],ans[200]; int n,i,l; while(scanf("%s%d",&s,&n)!=EOF) { strcpy(ans,s); for(i=2;i<=n;i++) { l=strlen(s); s[l]=s[0]; s[l+1]='\0'; Add(ans,s,t); strcpy(ans,t); } puts(ans); } return 0; }
Pascal :
type data=array[0..10000] of integer; var a,b,c:data; stb,st:string; i,j,m,n,lenb:longint; function gaojia(a,b:data):data; var i,j,len:integer; c:data; begin fillchar(c,sizeof(c),0); if a[0]>b[0] then len:=a[0] else len:=b[0]; for i:=1 to len do begin c[i]:=c[i]+a[i]+b[i]; c[i+1]:=c[i+1]+c[i] div 10; c[i]:= c[i] mod 10; end; if c[len+1]>0 then c[0]:=len+1 else c[0]:=len; gaojia:=c; end; begin while not eof do begin readln(m,n); fillchar(a,sizeof(a),0); a[0]:=1;a[1]:=0; str(m,st);stb:=''; for i:=1 to n do begin stb:=stb+st; lenb:=length(stb); b[0]:=lenb; for j:=1 to lenb do val(stb[j],b[lenb-j+1]); c:=gaojia(a,b); a:=c; end; for j:=c[0] downto 1 do write(c[j]); writeln; end; end.
Java :
public class Main { public static void main(String[] args) { java.util.Scanner in= new java.util.Scanner(System.in) ; while(in.hasNextInt()){ int a=in.nextInt(); int n=in.nextInt(); String sum=""; int k =0; for(int i=n;i>=1;i--){ int m=i*a+k; int s=m%10; sum=(char)(s+48)+sum; k=m/10; } if(k!=0) sum=Integer.toString(k)+sum; System.out.println(sum); } } }
- 1
信息
- ID
- 1863
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者