Створіть проект,у якому можна обчислити кількість двоцифрових чисел серед чисел,перше з яких дорівнює 10,а кожне наступне більше від попереднього на задане додатне число
Любое трехзначное число вида "abc" можно представить как выражение 100a+10b+c Тогда: 100a+10b+c - 100c+10b+a
99(a-c) Значение, равное 99(a-c), равно трехзначному числу, составленному из тех же самых цифр a, b, c. Три цифры можно расставить шестью но два из них мы уже использовали, поэтому остается проверить четыре остальные расстановки, что и делает приведенная программа. qBASIC CLS FOR a = 1 TO 9 FOR b = 0 TO 9 FOR c = a - 1 TO 1 STEP -1 k = 99 * (a - c) k2 = 100 * a + 10 * c + b k3 = 100 * c + 10 * a + b k4 = 100 * b + 10 * a + c k5 = 100 * b + 10 * c + a IF k = k2 OR k = k3 OR k = k4 OR k = k5 THEN PRINT a; b; c; " - "; c; b; a; " = "; k END IF NEXT c NEXT b NEXT a Результат выполнения программы: 9 5 4 - 4 5 9 = 495
Обычно решают на Pascal, но я напишу на C++, он мне роднее)). Я конечно немножко по-другому реализовал (в плане ввода значений), но поставленную задачу выполняет. 1) #include <stdio.h> #inlcude <conio.h> #include <iostream> using namespace std; int main() { long a, b, i, sum=0; cin>>a; // Вводишь число a cin>>b; // Вводишь число b for (i=a;i<=b;i++) { sum=sum+(i*i); } cout<<sum; // выводим сумму квадратов чисел _getch(); }
2) #include <stdio.h> #inlcude <conio.h> #include <iostream> using namespace std; int main() { long a,b,c,d,i; bool z=false; cin>>a; cin>>b; cin>>c; cin>>d; for (i=10000; i<=99999; i++) { if (i % a==b && i % c==d) {z=true; cout<<i<<" ";} } if (z==false) {cout<<"-1";} // Выводится если нет чисел _getch(); }
100a+10b+c
Тогда:
100a+10b+c
-
100c+10b+a
99(a-c)
Значение, равное 99(a-c), равно трехзначному числу, составленному из тех же самых цифр a, b, c. Три цифры можно расставить шестью но два из них мы уже использовали, поэтому остается проверить четыре остальные расстановки, что и делает приведенная программа.
qBASIC
CLS
FOR a = 1 TO 9
FOR b = 0 TO 9
FOR c = a - 1 TO 1 STEP -1
k = 99 * (a - c)
k2 = 100 * a + 10 * c + b
k3 = 100 * c + 10 * a + b
k4 = 100 * b + 10 * a + c
k5 = 100 * b + 10 * c + a
IF k = k2 OR k = k3 OR k = k4 OR k = k5 THEN
PRINT a; b; c; " - "; c; b; a; " = "; k
END IF
NEXT c
NEXT b
NEXT a
Результат выполнения программы:
9 5 4 - 4 5 9 = 495
1)
#include <stdio.h>
#inlcude <conio.h>
#include <iostream>
using namespace std;
int main()
{
long a, b, i, sum=0;
cin>>a; // Вводишь число a
cin>>b; // Вводишь число b
for (i=a;i<=b;i++)
{
sum=sum+(i*i);
}
cout<<sum; // выводим сумму квадратов чисел
_getch();
}
2)
#include <stdio.h>
#inlcude <conio.h>
#include <iostream>
using namespace std;
int main()
{
long a,b,c,d,i;
bool z=false;
cin>>a;
cin>>b;
cin>>c;
cin>>d;
for (i=10000; i<=99999; i++)
{
if (i % a==b && i % c==d) {z=true; cout<<i<<" ";}
}
if (z==false) {cout<<"-1";} // Выводится если нет чисел
_getch();
}