Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Alguien puede ayudarme a escribir un subprograma de feliz cumpleaños usando lenguaje C? Después de ingresar el cumpleaños, la imagen del pastel de cumpleaños aparecerá al final.

¿Alguien puede ayudarme a escribir un subprograma de feliz cumpleaños usando lenguaje C? Después de ingresar el cumpleaños, la imagen del pastel de cumpleaños aparecerá al final.

#include

#include

#include

usando el espacio de nombres std;

const int inf=0xffffffff ;

int preminv[21] ;

int ri[21],hi[21] ;

int total ,floornum ;

int ans ;

int dfs (int n,int v,int s,int maxr,int maxh)

{

int res ;

int i,tmpr,tmph,tmpsum ;

if (n>floornum){

if (v==total && s+ri[1]*ri[1]

ans = s+ri[1]*ri[1] ;

devuelve 1 ;

}

}

for (ri[n]=maxr-1; ri[n]>=floornum-n+1; ri[n]--){

res = 2.0*(total-v)/ri[n] + ri[1]*ri[1] ;

if (res + s >= ans) continuar ;

for (hi[n]=maxh-1; hola[n]>=floornum-n+1; hola[n]--){

if (v+ri [n]*ri[n]*hi[n]+preminv[floornum-n]>total) continuar;

tmpr = ri[n],tmph = hola[n],tmpsum = 0;

for (i=n ; i<=floornum ; i++){

tmpsum += tmpr*tmpr*tmph ;

tmpr-- , tmph- - ;

}

si (v+tmpsum

dfs(n+1,v+ri[n]*ri[n ]*hola[n],s+2*ri[n]*hola[n],ri[n],hola[n]) ;

}

}

return 1 ;

}

int main()

{

int tmpv,tmpr,tmph ;

int i

;

tmpv=0 ;

for (i=1 ; i<21 ; i++){

tmpv += i*i*i ; p>

preminv[i] = tmpv ;

}

while (scanf("%d%d",&total,&floornum)!=EOF){

ans = inf ;

tmpv = total - preminv[floornum-1] ;

if (tmpv>0){

tmpr = sqrt (1.0*tmpv/floornum) + 1 ;

tmph = 1.0*tmpv/(floornum*floornum) + 1 ;

dfs(1,0,0,tmpr, tmph) ;

}

if (ans==inf){

ans = 0 ;

}

printf("%d\n",ans) ;

}

devuelve 0;

}

ticos All Rights Reserved.