[ MAD-MAX @ 28.11.2001. 23:53 ] @
Da li je neko radio ili ima ideju kako se pravi program koji, kada uneses na primer 10 niza brojeva koji su generisani nekom matematickom formulom (kao VISA bojevi) posle ih obradi i ti vidis tu matematicku formulu ili formule pa mozes sam da generises jos brojeva?
Korisno za neke stvari zar ne?:)
[ anatogen @ 29.11.2001. 01:04 ] @

U principu takav program nije tesko napraviti jedini problem bi bio HARDWARE...
nemoguce...
[ ventura @ 29.11.2001. 01:34 ] @
Vazi... pocni da ucis o neuronskim mrezama... pa ces mozda jednog dana i provaliti...

a da pogodim zasta ti treba to... hoces da generises brojeve za dupunu mobilnog :)
[ MAD-MAX @ 29.11.2001. 22:52 ] @
Ma jok treba mi za jedan matematicki problem :)))
[ Vojislav Milunovic @ 30.11.2001. 01:55 ] @
Daj taj matematicki problem mozda ga mi resimo!!
[ MAD-MAX @ 30.11.2001. 15:46 ] @
Ma salim se :)
A inace kad smo vec kod matematickog problema kako bi napisali program koji treba da resi ovakav zadatak:

Naci sve dvocifrene brojeve kod kojih je cetvrti stepen zbira cifara jednak zbiru cifara cetvrtok stepena samog broja.

P.S. U C++-u.
[ ventura @ 30.11.2001. 15:55 ] @
pojasni malo ovaj problem.. ne kapiram bas najbolje ....
[ random @ 30.11.2001. 16:44 ] @
#include <iostream.h>

/*
* Naci sve dvocifrene brojeve kod kojih je
* cetvrti stepen zbira cifara jednak zbiru
* cifara cetvrtok stepena samog broja.
*/

typedef unsigned long int ULINT;

ULINT cetvrti(ULINT osnova);
ULINT zbircifara(ULINT broj);

int main()
{
ULINT i, j, zbirstepena, stepenzbira, sambroj;
for (i = 1; i <= 9; i++)
for (j = 0; j <= 9; j++)
{
sambroj = i * 10 + j;
stepenzbira = cetvrti(i + j);
zbirstepena = zbircifara(cetvrti(sambroj));
if (stepenzbira == zbirstepena)
cout << sambroj << endl;
}
}

ULINT zbircifara(ULINT broj)
{
ULINT zbir = 0;
while (broj)
{
zbir += broj % 10;
broj = (broj - broj % 10) / 10;
}
return zbir;
}

ULINT cetvrti(ULINT osnova)
{
return (osnova * osnova * osnova * osnova);
}
[ random @ 30.11.2001. 16:52 ] @
Da ne bi radio copy/paste... http://galeb.etf.bg.ac.yu/~random/tmp/stepen.tar.gz
[ MAD-MAX @ 30.11.2001. 20:13 ] @
Bas ti hvala, bas si brz, sve cestitke.
[ Vojislav Milunovic @ 30.11.2001. 21:00 ] @
Citat:
char email[17]="\x72\x61\x6e\x64\x6f\x6d\x40\x62\x73\x64\x2e\x6f\x72\x67\x2e\x79\x75";


El mi se cini ili neko koristi moju foru za email? Ovaki je bi moj potpis pre nekih godinu dana na news i na mailu :)
[ anatogen @ 01.12.2001. 02:12 ] @
Mala varijacija...

---------------------------------
#include<stdio.h>

typedef unsigned long int uli;

uli cetvrti(uli broj);
uli zcifara(uli broj);

main () {

uli i,n,levo,desno;
printf("Od 0 do ");
scanf("%u",&n);
for (i=0;i<=n;i++){
levo=cetvrti(zcifara(i));
desno=zcifara(cetvrti(i));
if (levo==desno) printf("%d\n",i);
}
}

uli cetvrti(uli i){
return (i*i*i*i);
}

uli zcifara(uli i) {
uli zbir=0;
while(i){
zbir+=i%10;
i=(i-i%10)/10;
}
return zbir;
}
---------------------------------

Znaci vazi za sve takve brojeve ciji se interval unosi na pocetku... mada izgleda da ih ima samo 7... :)

Kada se unese 10000000 mom' AMDK6-2 300Mhz treba 20 sekundi a da %CPU ne pada ispod 98%,
koliko je kod vas...
Inace sa 8 nula prests'o sam da brojim posle cetvrtog minuta... :)
[ random @ 01.12.2001. 03:18 ] @
Citat:
El mi se cini ili neko koristi moju foru za email? Ovaki je bi moj potpis pre nekih godinu dana na news i na mailu :)



Ima još jedan dečko na es koji trenutno koristi sličnu stvar u potpisu (ali perlom prevodi hex u ascii), zapravo on me inspirisao. Ne mogu sad da se tačno setim ko je. Nije ni čudo, dobra je fora, normalan svet može da ti piše, a boranija se eliminiše + spam botovi ne mogu da ti pokupe email.
[ anatogen @ 01.12.2001. 08:47 ] @
Citat:
anatogen je napisao:
Mala varijacija...


Eto kad covek postuje nocu dok sprema ispite cas se nalupeta...
Program ne stampa brojeve 1000,10000...
Verovatno zbog toga sto 1000 na 4 ne moze da stane u 32 bitni int...
Pitanje: Kako definisati 64 bitni int ?
[ Vojislav Milunovic @ 01.12.2001. 13:22 ] @
long long var;
[ anatogen @ 02.12.2001. 09:09 ] @
I 64 bitni int je ipak malo... najveci interval je tad od 0 do 65536 sto ni ne oznoji cpu...
probah i long long long :) ali gcc javlja da je to previse long za njega...

Znaci postoji li nacin da se definise joc veci int na intelu?

[ Ivan Dimkovic @ 02.12.2001. 09:38 ] @
Jedan generalni savet u vezi sa programima ovog tipa - ovakve stvari su se stalno pojavljivale na takmicenjima iz informatike na kojima sam bio dok sam bio u srednjoj, obicno se javljaju ti veliki stepeni ili faktorijeli. Fora je sto ti na takmicenju daju DOS 16-bitni Turbo C kompajler sa 16-bitnim integerom ;) Zasto? Zato sto sigurno postoji fora da se zadatak resi bez "grube sile" - zbog cega se i limitira izvrsenje programa na 30 sekundi, a test primeri bas imaju velike cifre.

Hehe, secam se da sam na jednom zadatku koga nisam znao da resim "na pametan, to jest matematicki, nacin" jednostavno stavio long double ;) mada se to pokazalo pametno posto je zadatak resio najvise test primera, ali opet to nije to :)

Znaci, vidi da li postoji neki workaround ili laksi nacin da se to "inteligentnije" odradi inace ce ti neko skresati poene na pismenom.
[ anatogen @ 02.12.2001. 10:30 ] @
Ma, ja sam u ovom slucaju bas hteo da primenim grubu sliu jer mi nesto
bilo gotivno kada komp odstampa jedan broj pa prodje 10 sek. pa on odstampa
jos jedan a cpu 99% sve vreme...

Posto na zalost ovde se ne moze lupiti long double zbog neophodnosti svih cifara
pitanje odozgo jos stoji...

Kada budem imao vise vremena pogledacu dal' ima neki telegentniji nacin za
resavanje problema...
[ Ivan Dimkovic @ 02.12.2001. 10:56 ] @
Da, da se nadovezem na onu moju pricu o long double i gruboj sili :) Kad se takmicenje zavrsilo, ispostavilo se da su samo 2-3 programa radila (i moj je bio jedan od njih) - a samo je jedan lik to uradio kako treba :)

I sad, ono - moj program radi, ali mu treba jedno 20 sekundi za primere do sedmog ili osmog, a poslednja dva tri su stvarno veliki brojevi i mozda bi i zavrsio kad bi mu dali jedno 10-20 sati :) hehe... A program od tog drugog lika radi sa svim brojevima u delicu sekunde :)

Znaci, ipak je ponekad bolje raditi 'smart way' :)

Mada... ako vec ne znas kako to da sredis na bolji nacin onda je i dobro odradjena "gruba sila" OK resenje :) Vecina ljudi nisu znali ni za long (a kamoli za long double) foru, pa su im programi pucali vec kod drugog ili treceg testa :)

[ anatogen @ 03.12.2001. 23:49 ] @
Cekaj bre, kako to da "Vecina ljudi nisu znali ni za long (a kamoli za long double) foru"...
jel to bilo neko takmicenje iz osnovne skole? :))


[ Ivan Dimkovic @ 04.12.2001. 00:04 ] @
Ma jok bre, srednja - ja sam bio treca godina tada valjda... ma smeh :)

Mada - pazi to je 16-bitni Turbo C, treba se setiti da tu radi long double :)