c++ problem ze zwracaniem

0

Witam.
Napisałem program który ma wyznaczyc największą liczbę trzycyfrową podzielną przez a.

#include<iostream>
using namespace std;

void dane()
{
     int max=0,a;
     cin>>a;
     for(int i=100; i<1000; i++)
        if((i/a)>max && i%a==0) 
          max=i;
     cout<<max;
}
int main()
{
    dane();
    
    return 0;
}    

Problem w tym, że jak wpisze np. 3 to nie wyznaczy mi największej liczby, podobnie jest np. z liczbą 100

0

Nie sądzisz, że szybciej by było, gdybyś zaczął od 999 i jechał w dół, aż natrafisz na liczbe która sie dzieli??

0
int dane(int a)
{
    for(int i=999;i>=100;i--)
    if(i%a==0)
        return i;
    return 0;
}
int main()
{
	int a;
	cin>>a;
	cout<<dane(a);
	return 0;
}
0

Dzięki, oto chodziło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1