
C/C++
Написать программу, соответствуя шаблону.
На си


#include <stdio.h>
typedef struct {
int key;
int value;
} Box;
Box dividers(int number) {
Box box;
box.key = number;
box.value = 0;
int middle = number >> 1;
int n, m;
printf("%-5i", number);
for (n = 2; n <= middle; ++n) {
if (0 == number % n) {
if (box.value) {
putchar(',');
if (0 == box.value % 4) {
puts("");
printf("%5s", "");
}
}
++box.value;
printf("%3i", n);
}
}
m = box.value;
while (m % 4 != 0) {
printf("%4s", "");
++m;
}
printf("%*i\n", box.value? 6 : 21, box.value);
return box;
}
int main() {
int a = 440;
int b = 470;
Box max = dividers(a);
Box next;
while (++a <= b) {
next = dividers(a);
if (next.value >= max.value) {
max = next;
}
}
printf("\n%i\n", max.key);
return 0;
}
P.S. Так как не совсем понятно, нужно ли выводить число 470, которое является последним в диапазоне. Если нет, то в строке 38 заменить код на следующий:
while (++a < b) {
typedef struct {
int key;
int value;
} Box;
Box dividers(int number) {
Box box;
box.key = number;
box.value = 0;
int middle = number >> 1;
int n, m;
printf("%-5i", number);
for (n = 2; n <= middle; ++n) {
if (0 == number % n) {
if (box.value) {
putchar(',');
if (0 == box.value % 4) {
puts("");
printf("%5s", "");
}
}
++box.value;
printf("%3i", n);
}
}
m = box.value;
while (m % 4 != 0) {
printf("%4s", "");
++m;
}
printf("%*i\n", box.value? 6 : 21, box.value);
return box;
}
int main() {
int a = 440;
int b = 470;
Box max = dividers(a);
Box next;
while (++a <= b) {
next = dividers(a);
if (next.value >= max.value) {
max = next;
}
}
printf("\n%i\n", max.key);
return 0;
}
P.S. Так как не совсем понятно, нужно ли выводить число 470, которое является последним в диапазоне. Если нет, то в строке 38 заменить код на следующий:
while (++a < b) {
#include "iostream"
using namespace std;
int main() {
int a = 440;
int b = 470;
int x,y,c,z=0;
for(int i=a;i<=b;i++){
for(int ii=2;ii<i;ii++){
if(!(i%ii)){
x++;
if(x==1){
cout<<i;
cout<<' ';
}else{
cout<<", ";
c++;
if(!(c%4&&c))cout<<"\n";
}
cout<<ii;
}
}
c=0;
if(x){
cout<<" ";
cout<<x;
cout<<"\n";
}
if(x>z){
z=x;
y=i;
}
x=0;
}
cout<<"\n";
cout<<y;
cout<<"\n";
return 0;
}
using namespace std;
int main() {
int a = 440;
int b = 470;
int x,y,c,z=0;
for(int i=a;i<=b;i++){
for(int ii=2;ii<i;ii++){
if(!(i%ii)){
x++;
if(x==1){
cout<<i;
cout<<' ';
}else{
cout<<", ";
c++;
if(!(c%4&&c))cout<<"\n";
}
cout<<ii;
}
}
c=0;
if(x){
cout<<" ";
cout<<x;
cout<<"\n";
}
if(x>z){
z=x;
y=i;
}
x=0;
}
cout<<"\n";
cout<<y;
cout<<"\n";
return 0;
}
тёмный лес
Похожие вопросы
- Написать программу на языке Си
- Написать программы на СИ
- Некорректно работает написанная программа
- Помогите написать программу на С++
- Написать программу в С++ (нахождение площади трапеции)
- В LINUX OS Написать программу, которая из командной строки получает целое число N и некоторый текст “Text”.
- Помогите написать программу на С
- Помогите написать программу на C++
- Помогите написать программу на с++
- Помогите написать программу на с++