[C] zadanie

hocuz
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 2 gru 2007, o 13:35
Płeć: Mężczyzna
Lokalizacja: brak

[C] zadanie

Post autor: hocuz »

mam do rozwiązania następujący ciąg. Chciałbym żeby ktoś sprawdził czy moje rozwiązanie jest poprawne. Z góry dziękuje za pomoc.
\(\displaystyle{ c_{n}= \begin{cases} 1, n=1 \\ c^{2}_{n-1}-2, n>1,parzyste \\nc_{n-1}, n>1,nieparzyste \end{cases}}\)

Kod: Zaznacz cały

#include <stdio.h>
int main(){
int n;
int suma=1;
int i;
printf("podaj n
");
scanf("%d" , &n);
for(i=1;i<n;i++){
if(i%2!=0){
suma=(suma*suma)-2;
}else{
suma=i*suma;
}
}
printf("wynik to %d 
" , suma);
return 0;
}
matshadow
Użytkownik
Użytkownik
Posty: 941
Rejestracja: 17 gru 2007, o 21:48
Płeć: Mężczyzna
Lokalizacja: Kingdom Hearts
Podziękował: 6 razy
Pomógł: 222 razy

[C] zadanie

Post autor: matshadow »

Kod: Zaznacz cały

#include<stdio.h>
int main()
{
    int n,i,suma=1;
    scanf("%d",&n);
    if(n==1) printf("1
");
    else
    {
        for(i=1;i<=n;i++)
        {
            if(n%2<1) suma=(suma*suma)-2;
            else suma*=i;
        }
        printf("%d
",suma);
    }
    return 0;
}
Zauważ, że jeżeli n jest parzyste, to \(\displaystyle{ c_n=-1}\). Możesz udowodnić to sobie indukcyjnie, a dać taki kod

Kod: Zaznacz cały

#include<stdio.h>
int main()
{
    int n,i,suma=1;
    scanf("%d",&n);
    if(n==1) printf("1
");
    else if(n%2<1) printf("-1
");
    else
    {
        for(i=1;i<=n;i++)
            suma*=i;
        printf("%d
",suma);
    }
    return 0;
}
ODPOWIEDZ