PDA

View Full Version : Информатика



niksuncho
11-27-2011, 17:25
някой може ли да ми помогне с тази задача:

Да се състави програма,която намира и извежда всички трицифрени числа,които при премахване на средната цифра да се делят на 3 без остатък.
Трябва да я съставя с while ,но ми е трудна,така че който може да помогне ще съм му много благодарна :))

Chacho
11-27-2011, 18:16
Като искате задачи по информатика, казвайте на какъв език искате да се пишат!

Идея на задачата:

Взимаме си едно число i, което ще се мени от 100 до 999 (тук ползваме цикълът while). На всяка стъпка ще проверяваме дали първата+последната цифра се делят на 3 (което е условието за едно двуцифрено число да се дели на 3) и ако да - изписваме числото i на екрана.
Единствено остава да измислим как да премахваме средната цифра.
Числото i разделено на 10 дава остатък - последната цифра.
Числото i, след като го разделим на 100 дава първата цифра.
Като съберем тези двете и ги разделим на 3, получваме остатък 0, 1 или 2. Ако е 0, значи числото се дели на 3.

Ето я написана на С++:


#include <iostream>
using namespace std;

int main()
{

int i;
i=100;
while (i<1000)
{
if ((i%10 + (i/100)) % 3 == 0) //Proverqvame dali sborut se deli na 3
cout<<i<<endl; //Izpisvame chisloto, v slu4ai 4e se deli na 3
i++; //Preminavame na sledva6toto 3-cifreno 4islo
}

cin>>i; //Chetem chisloto i, samo za da ne se zatvori prozoreca
return 0;
}