1. Составьте программу, выводящую на экран квадраты чисел от 10 до 20 включительно.
1 2 3 4 5 6 7 |
int main() { for (int i=10; i<=20; i++) cout<<i*i<<" "; cout<<endl; return 0; } |
2. Даны натуральные числа от 35 до 87. Вывести на консоль те из них, которые при делении на 7 дают остаток 1, 2 или 5.
1 2 3 4 5 6 7 8 9 10 11 |
int main() { for (int i=35; i<=87; i++) { if (i % 7 == 1 || i % 7 == 2 || i % 7 == 5) cout<<i<<" "; } cout<<endl; return 0; } |
3. Найдите сумму $$1+2+3+\ldots+n$$, где число $$n$$ вводится пользователем с клавиатуры.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
int main() { int n; cout<<"input n: "; cin>>n; if (n<1) cout<<"error"<<endl; else { int sum=0; for (int i=1; i<=n; i++) sum+=i; cout<<"sum = "<<sum<<endl; } return 0; } |
4. Найдите произведение цифр трехзначного числа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
int main() { int n; cout<<"input n: "; cin>>n; if (n<100 || n>999) cout<<"error n"<<endl; else { int a,b,c; a=n%10; // первая цифра справа b=(n/10)%10; // вторая цифра справа c=n/100; // убрать две цифры справа int res; res=a*b*c; cout<<"answer: "<<res<<endl; } return 0; } |
5. Найдите количество четных цифр данного натурального числа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int main() { int n; cout<<"input n: "; cin>>n; if (n<=0) cout<<"error n"<<endl; else { int count=0; while (n>0) { if ((n%10)%2==0) count++; n/=10; } cout<<"answer: "<<count<<endl; } return 0; } |
6. Найдите наибольшую цифру данного натурального числа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int main() { int n; cout<<"input n: "; cin>>n; if (n<=0) cout<<"error n"<<endl; else { int max=0; while (n>0) { if ((n%10)>max) max=n%10; n/=10; } cout<<"answer: "<<max<<endl; } return 0; } |
7. Найдите все четырехзначные числа, сумма цифр каждого из которых равна 15.
1 2 3 4 5 6 7 |
int main() { for (int i=1000; i<10000; i++) if (i%10+(i/10)%10+(i/100)%10+i/1000==15) cout<<i<<endl; return 0; } |
В пятом примере должно быть while (n>1) а не while (n>0), так как получается бесконечный цикл, хотя компилятор его пропускает.
бесконечный цикл не получается
while (n>0)
n/=10;
n все время делится на 10 но отрицательной она никогда не станет она просто будет стремится к 0, но будет всегда >0 (…100, 10, 1, 0.1, 0.01, 0.001, …)
станет нулем и цикл закончится. n – это int
Действительно, забыл что n – int. Спасибо за объяснение.