Neste programa você deverá receber uma seqüência de números inteiros maiores que 0, terminada por um zero, e deverá verificar se cada um dos números da seqüência é ou não piramidal.
Entrada
A entrada é composta por uma seqüência de números inteiros positivos, cada um maior que 0 e menor que 10000, cada um deles em uma linha. Na última linha haverá um zero.
Saída
Para cada linha da entrada você deverá imprimir uma linha na saída, colocando a mensagem O numero ... e piramidal ou O numero ... nao e piramidal. A linha com o número 0 não deve causar nenhuma impressão.
Exemplo:
Entrada:
15 7 6 97 0
Saída:
O numero 15 é piramidal O numero 7 não é piramidal O numero 6 não é piramidal O numero 97 é piramidal
/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/
package NumerosPiramidais;
import java.util.ArrayList;
import java.util.Scanner;
public class piramide {
public static boolean VerifPrimo(int n){
for (int i=2; i<n; i++) {
if (n%i == 0)
return false;
}
return true;
}
public static void main(String arg[]){
ArrayList<Integer> num = new ArrayList();
Scanner input = new Scanner(System.in);
int i=-1;
while (i!=0){
i=input.nextInt();
if (i<0)
System.out.println("Numero Invalido, Menor que Zero");
else
if (i>0)
num.add(i);
}
int [] tresPrimos = new int[3];
for (i=0;i<num.size();i++){
int numAtual = num.get(i);
tresPrimos[0]=tresPrimos[1]=tresPrimos[2]=0;
boolean piramidal=false;
int n=numAtual;
while (n>0){
if (VerifPrimo(n)){
tresPrimos[2]=tresPrimos[1];
tresPrimos[1]=tresPrimos[0];
tresPrimos[0]=n;
//Só verifica se é piramidal Se existir valores nos tresPrimos
if ((tresPrimos[0]>0)&&(tresPrimos[1]>0)&&(tresPrimos[2]>0)){
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])==numAtual){
n=0;
piramidal=true;
}
else
//se a soma dos 3 numeros for menor que o Numero então já para
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])<numAtual)
n=0;
}
}
n--;
}
if (piramidal)
System.out.println("O numero "+numAtual+" e piramidal");
else
System.out.println("O numero "+numAtual+" nao e piramidal");
}
}
}
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/
package NumerosPiramidais;
import java.util.ArrayList;
import java.util.Scanner;
public class piramide {
public static boolean VerifPrimo(int n){
for (int i=2; i<n; i++) {
if (n%i == 0)
return false;
}
return true;
}
public static void main(String arg[]){
ArrayList<Integer> num = new ArrayList();
Scanner input = new Scanner(System.in);
int i=-1;
while (i!=0){
i=input.nextInt();
if (i<0)
System.out.println("Numero Invalido, Menor que Zero");
else
if (i>0)
num.add(i);
}
int [] tresPrimos = new int[3];
for (i=0;i<num.size();i++){
int numAtual = num.get(i);
tresPrimos[0]=tresPrimos[1]=tresPrimos[2]=0;
boolean piramidal=false;
int n=numAtual;
while (n>0){
if (VerifPrimo(n)){
tresPrimos[2]=tresPrimos[1];
tresPrimos[1]=tresPrimos[0];
tresPrimos[0]=n;
//Só verifica se é piramidal Se existir valores nos tresPrimos
if ((tresPrimos[0]>0)&&(tresPrimos[1]>0)&&(tresPrimos[2]>0)){
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])==numAtual){
n=0;
piramidal=true;
}
else
//se a soma dos 3 numeros for menor que o Numero então já para
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])<numAtual)
n=0;
}
}
n--;
}
if (piramidal)
System.out.println("O numero "+numAtual+" e piramidal");
else
System.out.println("O numero "+numAtual+" nao e piramidal");
}
}
}
2 comentários:
Oh betão arruma ai que o 6 é piramidal
flw
Oh Fernando 6 não é piramidal, pois
2 + 3 + 5 = 10.
Postar um comentário