bana bunlar şu şekilde lazım i eşit olduğunda sonuca şeklinde ben yaptım:
int nTemp = (n - 2) % 3;
for(int i = 0; i < n; i++) if(i == nTemp) nTemp += 3;
yukardaki gibi yaptığımda amacıma ulaşıyorum ama orda nTemp değişkenini kullanamadan sadece formatı o şekil olan for döngüsü ve elimizde sadece i ve n değerleri olacak bu şekilde nasıl yapabirm yani şu şekil:
for(int i = 0; i < n; i++) if(i == formül..) // . . .
? :)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
yaptığım programı atayım..: http://ideone.com/drqQcO artık amacım sayıyı yazıya cevirmekten ayrılıp az bellek kullanan, hızlı, kısa kod oldu :D (daha sorunlar vardır)
neden 5 bit kullandım çünkü belleği daha az kullanmak gibi bir düşüncem var biliyorum saçma 5 bitlik kullanmam ama olsun :D
hocam sizin fonksiyonda iyiye benziyor ama neden "üç yüz" , "dört yüz" gibi yüzleri yaptığınızı anlayamadım 1'ler basamaklarından yararlanıp sonuna yüz ekletebilrdiniz ama
Karmaşıklığı azaltmak adına öyle yaptım, daha doğal geldi. Ayrıca böylesi daha verimli.
Bilgisayarda 8 bitten daha aşağı bellek tahsis edilemez çünkü en küçük blok o kadardır. Sen öyle yapınca derleyici üst 3 biti maskelemek için ekstra kod yazıyor. Bellek tasarrufu olmadığı gibi hızdan kaybediyorsun. Birde özel bir neden olmadıkça short falan kullanma. char bile kullansan o işlemciye çekilince 32 ya da 64 bite genişletiliyor. En doğal ve uygun olanı int tir.
Bellek kullanımını azaltmak istiyorsan yığın uzunluğunu düşürmelisin. Benim sistemimde 8 mb yığın bölgesi ayarlıyor derleyici. Hiç değişken olmasa bile 8mb gitti demek bu. Atıyorum bunu 1 mb a düşürmek için derleyiciye "-Wl,--stack,1048576" vermelisin.
2 = 0
3 = 1
4 = 2
5 = 0, 3
6 = 1, 4
7 = 2, 5
8 = 0, 3, 6
9 = 1, 4, 7
10 = 2, 5, 8
11 = 0, 3, 6, 9
bana bunlar şu şekilde lazım i eşit olduğunda sonuca şeklinde ben yaptım:
yukardaki gibi yaptığımda amacıma ulaşıyorum ama orda nTemp değişkenini kullanamadan sadece formatı o şekil olan for döngüsü ve elimizde sadece i ve n değerleri olacak bu şekilde nasıl yapabirm yani şu şekil:
? :)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu ileti mobil sürüm kullanılarak atıldı >