wtorek, 11 grudnia 2012

Zadanie 12

#include
int main(void)
{
unsigned long long number=1;
unsigned long long f=1;
unsigned long long i=1;
int flag=0;
int iloscDzielnikow=0;
while(flag==0){
while(i<=number){ if (number%i==0) iloscDzielnikow++; i++; } f++; i=1; if (iloscDzielnikow>500){
printf("%lld to numer",number);
flag=1;
}
iloscDzielnikow=0;
number+=f;

}
getchar();
return number;
}

Zadanie 11

#include
int main(void)
{
int keep =0,i=0,j=0;
short int tab[20][20]={
{8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},
{49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
{81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
{52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
{22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
{24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
{32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
{67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
{24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
{21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
{78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
{16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
{86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
{19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
{4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
{88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
{4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
{20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
{20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
{1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48},
};
for( i=0;i<16;i++){ for( j=0;j<16;j++){ keep =(tab[i][j]*tab[i][j+1]*tab[i][j+2]*tab[i][j+3]) >keep ? tab[i][j]*tab[i][j+1]*tab[i][j+2]*tab[i][j+3] : keep;
keep =(tab[i+1][j]*tab[i+1][j+1]*tab[i+1][j+2]*tab[i+1][j+3]) >keep ? tab[i+1][j]*tab[i+1][j+1]*tab[i+1][j+2]*tab[i+1][j+3] :keep;
keep =(tab[i+2][j]*tab[i+2][j+1]*tab[i+2][j+2]*tab[i+2][j+3]) > keep ? tab[i+2][j]*tab[i+2][j+1]*tab[i+2][j+2]*tab[i+2][j+3] :keep;
keep = (tab[i+3][j]*tab[i+3][j+1]*tab[i+3][j+2]*tab[i+3][j+3]) > keep? tab[i+3][j]*tab[i+3][j+1]*tab[i+3][j+2]*tab[i+3][j+3] :keep;
keep =(tab[i][j]*tab[i+1][j]*tab[i+2][j]*tab[i+3][j]) >keep ? tab[i][j]*tab[i+1][j]*tab[i+2][j]*tab[i+3][j] : keep;
keep =(tab[i][j+1]*tab[i+1][j+1]*tab[i+2][j+1]*tab[i+3][j+1]) >keep ? tab[i][j+1]*tab[i+1][j+1]*tab[i+2][j+1]*tab[i+3][j+1] : keep;
keep =(tab[i][j+2]*tab[i+1][j+2]*tab[i+2][j+2]*tab[i+3][j+2]) >keep ? tab[i][j+2]*tab[i+1][j+2]*tab[i+2][j+2]*tab[i+3][j+2] : keep;
keep =(tab[i][j+3]*tab[i+1][j+3]*tab[i+2][j+3]*tab[i+3][j+3]) >keep ? tab[i][j+3]*tab[i+1][j+3]*tab[i+2][j+3]*tab[i+3][j+3] : keep;
keep =(tab[i][j]*tab[i+1][j+1]*tab[i+2][j+2]*tab[i+3][j+3]) >keep ? tab[i][j]*tab[i+1][j+1]*tab[i+2][j+2]*tab[i+3][j+3] :keep;
keep =(tab[i][j+3]*tab[i+1][j+2]*tab[i+2][j+1]*tab[i+3][j] ) >keep? tab[i][j+3]*tab[i+1][j+2]*tab[i+2][j+1]*tab[i+3][j] :keep;
}
}
printf("%i",keep);
return 0;
}

środa, 5 grudnia 2012

Zadanie 10

#include
#include

int main (void)
{
short int i;
short int divide = 0;
long long sum =2; /*Bo dwa też jest pierwsza, a poza algorytmem*/
int number = 2;
while(number<2000000)
{
number++;
i=2;
divide=0;
while((i<=sqrt(number))&&(divide==0))
{
if(number%i==0)
divide=1;
else
i++;
}
if(divide==0)
sum+=number;

}
printf("Suma liczb pierwsza ponizej 2000000 to %lld\n", sum);
getchar();
return 0;

}

Zadanie 9

#include
int main (void)
{
short int isTrue=0;
int a=1;
int b=1;
int c=1;
for(a=1;a<999 && isTrue==0;a++){
for(b=1;b<999&& isTrue==0;b++){
for(c=1;c<999&& isTrue==0;c++){
if((a+b+c==1000) && (a*a+b*b==c*c)){
isTrue=1;
printf("%i,%i,%i,%i",a,b,c,a*b*c);
}
}
}
}
getchar();
return 0;
}

Zadanie 8

Pisane w Ruby:
def search (i=0,product=0,pr=0,label="f") label="731671765313306249192251196744265747423553491949349698352031277450632623957831801698480186947885184385861560789112949495459501737958331952853208805511125406987471585238630507156932909632952274430435576896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"
label=label.split(//)
while i!=995
product=label[i].to_i*label[i+1].to_i*label[i+2].to_i*label[i+3].to_i*label[i+4].to_i
if product>pr
pr=product
end
product=0
i+=1
end
puts "Ta liczba to #{pr}"
end
search

Zadanie 7

#include
#include

int main (void)
{
unsigned long int zakres=10001;
short int i;
short int divide = 0;
int checker=1; /* cyfra 2 jest pierwsza, ale jest poza algorytmem */
unsigned long int number = 2;
while(checker {
number++;
i=2;
divide=0;
while((i<=sqrt(number))&&(divide==0))
{
if(number%i==0)
divide=1;
else
i++;
}
if(divide==0)
checker++;
}
printf("%lu liczba pierwsza wynosi %lu\n", zakres, number);
getchar();
main();
return 0;

}


Zadanie 6

#include
int main (void)
{
int sum=0;
int a=1;
while(a<=100)
{
sum+=a;
a++;
}
sum=sum*sum;
a=1;
while (a<=100)
{
sum-=a*a;
a++;
}
printf("Wynik koncowy to %i\n",sum);
getchar();
return 0;
}