Добрый день, есть вот такая задачка, которую адо решить на C++: Простой снеговик Нолс любит все, что такое же простое, как он, и такое же круглое, как он. Он попросил своего друга, зайца Тимофея, загадать два числа, a и b. После этого он решил перемножить все простые числа, лежащие между a и b (включительно), и посмотреть, насколько круглое число получится..
К сожалению, ни Нолс, ни Тимофей сами не умеют считать им
Попробовал решить вот так, но по времени не проходит:
#include
using namespace std;
#define int long long
signed main() {
int a, b;
cin >> a >> b;
if (a == 1) {
a = 2;
}
int count = 1;
for (int i = a; i <= b; i++) {
bool prime = true;
for (int j = a; j * j <= i; j++) {
if (i % j == 0) {
prime = false;
break;
}
}
if (prime) count *= i;
}
int ans = 0;
while (count % 10 == 0){
ans++;
count /= 10;
}
cout << ans;
return 0;
}
Спросил у опытных людей, сказали, что задачу можно решить через if типа вот так:
int main() {
int a, b;
cin >> a >> b;
if (some_cond) {
cout << one_ans;
} else {
cout << another_ans;
}
}
Не могу ни как допереть .
Объяснение:
9/2=4 (1); 4/2=2 (0); 2/2=1 (0); (1); 9₁₀=1001₂
34/2=17 (0); 17/2=8 (1); 8/2=4 (0); 4/2=2 (0); 2/2=1 (0); (1); 34₁₀=100010₂
59/2=29 (1); 29/2=14 (1); 14/2=7 (0); 7/2=3 (1); 3/2=1 (1); (1); 59₁₀=111011₂
629/2=314 (1); 314/2=157 (0); 157/2=78 (1); 78/2=39 (0); 39/2=19 (1); 19/2=9 (1);
9/2=4 (1); 4/2=2 (0); 2/2=1 (0); (1); 629₁₀=1001110101₂
936/2=468 (0); 468/2=234 (0); 234/2=117 (0); 117/2=58 (1); 58/2=29 (0);
29/2=14 (1); 14/2=7 (0); 7/2=3 (1); 3/2=1 (1); (1); 936₁₀=1110101000₂
1875/2=937 (1); 937/2=468 (1); 468/2=234 (0); 234/2=117 (0); 117/2=58 (1);
58/2=29 (0); 29/2=14 (1); 14/2=7 (0); 7/2=3 (1); 3/2=1 (1); (1); 1875₁₀=11101010011₂
3913/2=1956 (1); 1956/2=978 (0); 978/2=489 (0); 489/2=244 (1); 244/2=122 (0);
122/2=61 (0); 61/2=30 (1); 30/2=15 (0); 15/2=7 (1); 7/2=3 (1); 3/2=1 (1); (1);
3913₁₀=111101001001₂
11649/2=5824 (1); 5824/2=2912 (0); 2912/2=1456 (0); 1456/2=728 (0);
728/2=364 (0); 364/2=182 (0); 182/2=91 (0); 91/2=45 (1); 45/2=22 (1);
22/2=11 (0); 11/2=5 (1); 5/2=2 (1); 2/2=1 (0); (1); 11649₁₀=10110110000001₂
39578/2=19789 (0); 19789/2=9894 (1); 9894/2=4947 (0); 4947/2=2473 (1);
2473/2=1236 (1); 1236/2=618 (0); 618/2=309 (0); 309/2=154 (1); 154/2=77 (0);
77/2=38 (1); 38/2=19 (0); 19/2=9 (1); 9/2=4 (1); 4/2=2 (0); 2/2=1 (0); (1);
39578₁₀=1001101010011010₂
53746/2=26873 (0); 26873/2=13436 (1); 13436/2=6718 (0); 6718/2=3359 (0);
3359/2=1679 (1); 1679/2=839 (1); 839/2=419 (1); 419/2=209 (1); 209/2=104 (1);
104/2=52 (0); 52/2=26 (0); 26/2=13 (0); 13/2=6 (1); 6/2=3 (0); 3/2=1 (1); (1);
53746₁₀=1101000111110010₂
1.) программаға сәйкес операцияларды орындауға арналған компьютердің негізгі құрылғысы, қызметтік бөлігі. Көптеген жартылай өткізгішті элементтерден тұратын және компьютерде барлық есептеулер мен ақпарат өндеу жұмыстарын орындайтын электрондық микросхема. Қазіргі компьютерлерде бір немесе бірнеше процессорлар жұмыс істейді.
2.Процессор деген компьютердегі барлық қызметті атқарып тұрған адамның миы сияқты құрылғы, арифметикалық-логикалық қызметтер атқарады. процессорды CPU американдық компаниялар Intel, AMD жасап шығарады.
ОЗУ деген қысқа мерзімге мәлімет сақтауға арналған. компьютерде жасалып жатұан операциялардың бәрң осы озуда сақталады. компьютерді өшіргенде бәрі кетіп қалады.
Материнская плата деген компаның орталық астанасы. Процессор, озу, слоттар, жесткий диск бәрң соған қосып жалғанады.
Видеокарта деген графикалық ақпараттардың қалыпты жұмыс істеуіне арналған. Видео және ойындардың графикасына жауап беретін құрылғы осы.
Объяснение: