
C/C++
Помогите с кодом задачи c++. задача на фото

#include < iostream > //убрать пробелы
unsigned int count(int a, int b)
{
unsigned int counter = 0;
for(int i=a;i<=b;i++)
{
if(i%4==0)
{
counter++;
}
}
return counter;
}
int main()
{
int a,b;
std::cout<<"a = "; std::cin>>a;
std::cout<<"b = "; std::cin>>b;
std::cout<<"N = "<<count(a,b)<<std::endl;
return 0;
}
unsigned int count(int a, int b)
{
unsigned int counter = 0;
for(int i=a;i<=b;i++)
{
if(i%4==0)
{
counter++;
}
}
return counter;
}
int main()
{
int a,b;
std::cout<<"a = "; std::cin>>a;
std::cout<<"b = "; std::cin>>b;
std::cout<<"N = "<<count(a,b)<<std::endl;
return 0;
}
Азат Такенов
у меня выводит что от 0 до 100: 26 чисел кратных 4 а должно ведь быть 25 чисел кратных 4
#include <iostream>
using namespace std;
int main() {
const auto x = 4U;
cout << "A: "; unsigned a; cin >> a;
cout << "B: "; unsigned b; cin >> b;
while (a % x && a < b) ++a;
while (b % x && b > a) --b;
if (a == b && a % x != 0) puts("N: 0");
else if (a == b && a % x == 0) puts("N: 1");
else {
auto n = 0U;
for (auto m = a; m <= b; m += x) ++n;
cout << "N: " << n << '\n';
}
system("pause > nul");
}
using namespace std;
int main() {
const auto x = 4U;
cout << "A: "; unsigned a; cin >> a;
cout << "B: "; unsigned b; cin >> b;
while (a % x && a < b) ++a;
while (b % x && b > a) --b;
if (a == b && a % x != 0) puts("N: 0");
else if (a == b && a % x == 0) puts("N: 1");
else {
auto n = 0U;
for (auto m = a; m <= b; m += x) ++n;
cout << "N: " << n << '\n';
}
system("pause > nul");
}
Поглядел ответы. Если исходить из того, как у нас:
Существуют два подхода к определению натуральных чисел:
числа, возникающие при подсчёте (нумерации) предметов: первый, второй, третий, четвёртый, пятый…;
числа, возникающие при обозначении количества предметов: 0 предметов, 1 предмет, 2 предмета, 3 предмета, 4 предмета, 5 предметов…
В первом случае ряд натуральных чисел начинается с единицы, во втором — с нуля. Не существует единого для большинства математиков мнения о предпочтительности первого или второго подхода (то есть считать ли ноль натуральным числом или нет). В подавляющем большинстве российских источников традиционно принят первый подход
int A, B, N=0;
do {
cout << "A="; cin >> A;
cout << "B="; cin >> B;
// мой вариант, вроде проще не бывает же?
N = B/4 - (A-1)/4;
/* Сергей Степанов (мелкая проблема если ввели 0 и 0, но это как бы вне натуральных)
A = A - A % 4 + 4 * (bool)(A % 4); //тут бул забыл
B = B - B % 4;
N = (B - A) / 4 + 1;
*/
// Маша Малинина (мелкая проблема если ввели 0 и 0, но это как бы вне натуральных)
//N = 1 + B / 4 - (A + 3) / 4;
cout << "N=" << N << "\n\n";
}
while(A!=0);
Существуют два подхода к определению натуральных чисел:
числа, возникающие при подсчёте (нумерации) предметов: первый, второй, третий, четвёртый, пятый…;
числа, возникающие при обозначении количества предметов: 0 предметов, 1 предмет, 2 предмета, 3 предмета, 4 предмета, 5 предметов…
В первом случае ряд натуральных чисел начинается с единицы, во втором — с нуля. Не существует единого для большинства математиков мнения о предпочтительности первого или второго подхода (то есть считать ли ноль натуральным числом или нет). В подавляющем большинстве российских источников традиционно принят первый подход
int A, B, N=0;
do {
cout << "A="; cin >> A;
cout << "B="; cin >> B;
// мой вариант, вроде проще не бывает же?
N = B/4 - (A-1)/4;
/* Сергей Степанов (мелкая проблема если ввели 0 и 0, но это как бы вне натуральных)
A = A - A % 4 + 4 * (bool)(A % 4); //тут бул забыл
B = B - B % 4;
N = (B - A) / 4 + 1;
*/
// Маша Малинина (мелкая проблема если ввели 0 и 0, но это как бы вне натуральных)
//N = 1 + B / 4 - (A + 3) / 4;
cout << "N=" << N << "\n\n";
}
while(A!=0);
#include< iostream >
int main()
{
int a, b;
std::cin >> a >> b;
a = a - a % 4 + 4*a%4;
b = b - b % 4;
std::cout << (b - a) / 4 + 1;
}
int main()
{
int a, b;
std::cin >> a >> b;
a = a - a % 4 + 4*a%4;
b = b - b % 4;
std::cout << (b - a) / 4 + 1;
}
Никита Спиричев
Если ввести 7 и 11 то выдаст 2. Это правильно?
Makho Nishnianidze
Нет конечно. Нужно допиливать.
Makho Nishnianidze
#include< iostream >
int main()
{
int a, b;
std::cin >> a >> b;
a = a - a % 4 + 4 * (bool)(a % 4); //тут бул забыл
b = b - b % 4;
std::cout << (b - a) / 4 + 1;
}
int main()
{
int a, b;
std::cin >> a >> b;
a = a - a % 4 + 4 * (bool)(a % 4); //тут бул забыл
b = b - b % 4;
std::cout << (b - a) / 4 + 1;
}
Каждое натуральное число N, кратное четырём (4, 8, 12, 16, ..), можно занумеровать как N/4 (то есть 1, 2, 3, 4, ..). В диапазоне натуральных чисел [a;b] (от a до b включительно) первым числом кратным четырём и не меньшим a будет число с номером (a + 3)/4, a последним числом кратным четырём и не большим b будет число с номером b/4 (под делением подразумевается целочисленное деление !). Поэтому общее количество подходящих чисел можно подсчитать по формуле 1+b/4-(a+3)/4, которая верна даже тогда, когда диапазон [a;b] не содержит чисел, кратных четырём. И никакие циклы тут и даром не нужны, всё гораздо проще:
#include <iostream>
int main() { unsigned long long a, b;
std::cout << "a b » "; std::cin >> a >> b;
std::cout << 1 + b / 4 - (a + 3) / 4 << std::endl; system("pause > nul"); return 0; }
#include <iostream>
int main() { unsigned long long a, b;
std::cout << "a b » "; std::cin >> a >> b;
std::cout << 1 + b / 4 - (a + 3) / 4 << std::endl; system("pause > nul"); return 0; }
Похожие вопросы
- Помогите с кодом для C++
- Прошу помогите написать код на c++, нужно сдать сегодня ?
- Помогите составить код на C++ ,заранее спасибо)
- Прошу помочь с двумя задачами по C++. Есть код моей попытки. Буду рад если напишите проги.
- C++ задача (на фото)
- Помогите пожалуйста с задачей на c++, если кто-нибудь захочет помочь.
- Помогите с кодом C++
- Помогите пожалуйста решить задачу на C ИЛИ C#
- Помогите с решением задачи на языке СИ
- Помогите пожалуйста написать код на c++, выводящий имя, фамилию и дату рождения нескольких человек