Esercizio 5

Stato
Discussione chiusa ad ulteriori risposte.

imported_ShuraBozz

Utente Silver
20 Ottobre 2008
44
0
0
62
Codice:
2520 è il più piccolo numero divisibile per ognuno dei numeri compresi da 1 a 10.

Qual è il più piccolo numero divisibile per ogni numero da 1 a 20?

Soluzione in C:
http://shurabozz.pastebin.com/f5b85ec33
 
Codice:
def div? num
    21.times do |y|
       if num % y !=0
          return false
       end
    end
    return true
end
n = 0
while true
   if div? n 
       puts "Number: #{n}"
       exit
   end
   n += 1
end
 
C++
Codice:
#include<iostream>
using namespace std;

main(){
	int count=0,total=20,begin=1;
	
	while(count!=20){
		if(total%begin==0){
			count++;
			begin++;
		}
		else{
			total++;
			begin=1;
			count=0;
		}
	}
	cout<<"number = "<<total<<endl;
}
 
Programma in C

Codice:
/* Trovare il più piccolo numero divisibile per ogni numero da 1 a 20 */

#include <stdio.h>

int main()
{
    int i=1, n=1;
    while(i <= 20){
            if(n % i == 0)
                 i++;
            else{
                n++;
                i = 1;
            }
    }
    printf("\n%d\n", n);
    return 0;                          
}

Edit: Corretto
 
Bash:
Codice:
i="40";while true; do echo $i; for j in `seq 1 20`; do if [[ "$(echo $i % $j | bc)" != "0" ]]; then break; else if [[ "$j" = "20" ]]; then exit; fi; fi; done; i=`echo "$i + 1" | bc`; done
oppure una soluzione molto più veloce:
Codice:
echo 232792560
 
shura ha detto:
Bash:
Codice:
i="40";while true; do echo $i; for j in `seq 1 20`; do if [[ "$(echo $i % $j | bc)" != "0" ]]; then break; else if [[ "$j" = "20" ]]; then exit; fi; fi; done; i=`echo "$i + 1" | bc`; done
oppure una soluzione molto più veloce:
Codice:
echo 232792560

[ot]
Che genio!!:D

[/ot]
 
Stato
Discussione chiusa ad ulteriori risposte.