Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

remote87 avatar remote87 121 Точки

Textbook Exercise 10 1st Lecture

Условие:  Напишете програма, която извежда първите 100 члена на редицата 2,  -3, 4, -5, 6, -7, 8.

Аз имам само това:

using System;

namespace _05.NumbersInRange
{
    class NumbersInRange
    {
        static void Main()
        {
            for (int i = 2; i <= 100; i++)
            {
                Console.WriteLine(i);
            }
        }
    }
}

и нещо блокирам. Моля, някой САМО да ме насочи, не да ми даде готовото решение, защото искам сам да напиша кода. Най-простото, което се сещам е, че i*-1 е равно на отрицателното число, но нещо не мога да си го сглобя да ми хваща всяко следващо да е с отрицателен знак.

П.С. така добре ли е според вас:

http://pastebin.com/zeeRLV9x

ест пак добре, че чичко google знае всичко :)

Тагове:
0
Programming Basics 13/08/2015 20:54:18
RoYaL avatar RoYaL Trainer 6849 Точки

Би трябвало да има и чисто математически начин да се стигне до резултата без условна конструкция. Не съм от добрите в сферата на компутациите, но ми дойде на акъла нещо такова

            for (int i = 2; i <= 100; i++)
            {
                Console.WriteLine(i * (((i+1) % 2) - (i % 2)));
            }

Демек

2 * ((2+1) % 2) - (2 % 2))

= 2 * ( (3 % 2) - (2 % 2) )

= 2 * (1 - 0) = 2 * 1 = 2

 

3 * ((3+1) % 2) - (3 % 2))

= 3 * ( (4 % 2) - ( 3 % 2) )

= 3 * ( 0 - 1) = 3 * (-1) = -3

1
13/08/2015 21:27:48
remote87 avatar remote87 121 Точки

Направо ме претрепа :D 

Аз едвам стигнах до моя код, ти ми изкара егати магическата формула хаха. Пробвах и твоя начин, разбирам го...но убий ме сам не мога да го докарам то него. Надявам се до края на подготвителния курс да започна и аз да пиша така с нещо, което ей така ми е дошло на акъла :)

RoYal може ли да те помоля да ми изпратиш / ако е удобно ест / един скайп, мейл или някакъв контакт на този e-mail:

c_aleksiev@abv.bg

Ще съм много благодарен и ще гледам да те тормозя само в крайни случаи / например на изпита ахахах / :)

0
RoYaL avatar RoYaL Trainer 6849 Точки

Много от контактите ми (facebook, linkedin, skype...) са оставени в профила ми.

Иначе ти писах мейл, де.

0
djc_bg2015 avatar djc_bg2015 923 Точки

Аз го направих с 3 променливи в условието на цикъла

for (int i = 1, j = 2, k = -3; i <= 50; i += 2, j += 2, k -= 2)

определно, трябва да има по - елегантен начин разбира се

1
remote87 avatar remote87 121 Точки

Може ли само да ми кажеш "по-елегантен" се има предвид за код, който няма вложени цикли ли? Смисъл моя код бавен ли е, лош ли е, некоректен ли е? Не се засягам, просто питам, за да знам към какво да се стремя. За момента целя просто да си реша задачата с някакъв код. Предполагам, че все е някакво постижение да го правя на първа лекция още и щом не съм се занимавал с код до момента?

П.С. Благодаря много за коментара - научих, че може да има повече от една променлива в условието на цикъла :)

0
13/08/2015 22:18:50
djc_bg2015 avatar djc_bg2015 923 Точки

Аз говорех изцяло за моя код, че не изглежда много четливо и ясно на пръв поглед :). В случая сигурно има още десетки варианти, а отностно това кой вариант е по - бърз, ето как можеш да измерваш изпълнението на дадена програма:
 

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// тук код
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed);

Поздрави!

1
13/08/2015 23:13:14
remote87 avatar remote87 121 Точки

Уха, това е много яко! Много благодаря! Това може ли да се използва на изпита?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.