Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cmath>
- #include <string>
- using namespace std;
- int chiedi(string msg,int lmin,int lmax) {
- int x;
- cout<<"Inserire numero: ";
- cin>>x;
- while (x<lmin || x>lmax){
- cout<<"Inserire numero: ";
- cin>>x;
- }
- return x;
- }
- bool primo(int a) {
- for (int i=1;i<a;i++) {
- if (a%i==0) {
- return false;
- }
- }
- return true;
- }
- int divisori(int x) {
- int sommadiv=0;
- for (int i=1; i<x+1; i++) {
- if(x%i==0) {
- sommadiv+=i;
- }
- }
- return sommadiv;
- }
- bool perfetto(int a) {
- if(round(int(sqrt(a)))==float(sqrt(a))){
- return true;
- }
- return false;
- }
- int scifre(int a) {
- int sommacifre=0;
- while(a>0) {
- int m=a%10;
- sommacifre=sommacifre+m;
- a=a/10;
- }
- return sommacifre;
- }
- bool palindromo(int x){
- }
- int main(){
- int n;
- cout<<"Inserisci N"<<endl;
- cin>>n;
- while(n<=0 or n>100) {
- cout<<"Inserisci N"<<endl;
- cin>>n;
- }
- string msg="Inserire numero: ";
- int somtre[n];
- int somt=0;
- int quadp=0;
- int sdp[n];
- int sommadivprima=0;
- int spal=0;
- int c=0;
- for (int i=0;i<n;i++){
- int x=chiedi(msg,0,50);
- if(scifre(x)%3==0) {
- somtre[somt]=x;
- somt++;
- }
- if(perfetto(x) && x%2==0) {
- quadp++;
- }
- if(primo(divisori(x))) {
- sdp[sommadivprima]=x;
- sommadivprima++;
- }
- }
- cout<<"Numeri con somma cifre divisibile per 3: ";
- for (int i=0;i<somt-1;i++) { cout<<somtre[i],", "; }
- cout<<somtre[somt]<<endl;
- cout<<"Quanti numeri pari sono quadrati perfetti: "<<quadp<<endl;
- cout<<"Quanti numeri con somma dei divisori prima: "<<sommadivprima+1<<", ovvero ";
- for (int i=0;i<sommadivprima-1;i++) { cout<<sdp[i],", "; }
- cout<<sdp[sommadivprima]<<endl;
- cout<<"Non riesco a costruire la funzione sui palindromi";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement