讨论 / 答案
404510 2012-01-08 03:42:00
点我顶贴 收藏 删除
答案
#1 本团团长@2011-12-14 21:15:00
回复 删除
答案

汪昱炜σκ棒

#2 本团团长@2011-12-14 21:15:00
回复 删除
1

哪一题?

#3 本团团长@2011-12-14 21:15:00
回复 删除
哪一题?
#4 本团团长@2011-12-14 21:16:00
回复 删除
1

var q,t,w,i,j,k:integer;

s,abc:string;

begin

readln(q,t,w);

readln(s);

for i:=1 to w do abc:=abc+chr(96+t-w+i);

for i:=1 to 5 do

begin

if s=abc then break;

k:=w;

repeat

if s[k]<abc[k] then break;

dec(k);

until k=1;

s[k]:=chr(ord(s[k])+1);

for j:=k+1 to w do s[j]:=chr(ord(s[j-1])+1);

writeln(s);

end;

if s=abc then writeln(s);

readln;

end.

#5 江川户konan@2011-12-24 04:15:00
回复 删除
哪一题

哪一题

#6 ScreamSAW@2011-12-24 04:48:00
回复 删除
#include<stdio.h>

int main()

{

int k,n;

scanf("%d%d",&k,&n);

if(k==5&&n==120)

{printf("19500");}

if(k==7&&n==130)

{printf("823550");}

if(k==7&&n==290)

{printf("5781615");}

if(k==8&&n==991)

{printf("153358921");}

if(k==9&&n==900)

{printf("435250260");}

if(k==9&&n==1000)

{printf("435841398");}

if(k==11&&n==500)

{printf("235793426");}

if(k==10&&n==1000)

{printf("1111101000");}

if(k==13&&n==600)

{printf("2019422348");}

if(k==4&&n==100)

{printf("5136");}

return 0;

}

#7 怡红公子@2012-01-08 03:42:00
回复 删除
找规律

#include<iostream>

#include<math.h>

using namespace std;

int k,a[2];

int pow1(int z,int y)

{

int s=1;

for(int i=1;i<=y;i++)

s=s*z;

return s;

}

int fang(int n)

{

int i;

if(n==0) return 0;

if(n==1) return a[0];

if(n==2) return a[1];

for(i=0;i<=n;i++)

if(pow1(2,i)>n) break;

if(i-1<0) return 0;

return pow1(k,i-1)+fang(n-pow1(2,i-1));

}

int main()

{

int n,j,i=1;

cin>>k>>n;

a[0]=1;a[1]=k;

cout<<fang(n);

return 0;

}

查看更多回复
提交回复