Форум программистов, компьютерный форум CyberForum.ru

Числа, сумма цифр которых делится на K - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 19:34     Числа, сумма цифр которых делится на K #1
Вводятся два числа N и K. Выведите количество чисел из диапазона от 1 до N включительно таких, что их сумма цифр делится на K.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main(){
         int n,k,cnt=0;
 
         cin>>n>>k;
        
         for(int i=1;i<=n;i++){
             
             int s=(i%10)+(i/10);
             
             if(s%k==0){
                 cnt++;}
         }
 
         cout<<cnt;
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 19:34     Числа, сумма цифр которых делится на K
Посмотрите здесь:

Найти все двузначные числа, сумма квадратов цифр которых делится на 17 C++
C++ Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27
C++ Проверить гипотезу: если сумма цифр числа делится на 3, то и само число делится на 3
C++ Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13
Найти все двухзначные числа, сумма цифр которых делится на заданное пользователем число C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 19:44     Числа, сумма цифр которых делится на K #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int summ(int num){
    if(!num) return 0;
    return ((num%10)+summ(num/10));
}
 
int main()
{
    int n=1000,k=18;
    for(int i=1;i<=n;++i)
        if((summ(i)%k)==0)
            std::cout<<i<<std::endl;
    std::cin.get();
    return 0;
}
Добавлено через 2 минуты
А, там количество. Тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int summ(int num){
    if(!num) return 0;
    return ((num%10)+summ(num/10));
}
 
int main()
{
    int n=1000,k=18;
    int count=0;
    for(int i=1;i<=n;++i)
        if((summ(i)%k)==0)
            count++;
    std::cout<<"Count: "<<count<<std::endl;
    std::cin.get();
    return 0;
}
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 19:52  [ТС]     Числа, сумма цифр которых делится на K #3
почему нельзя так, как у меня?все правильно же...вроде
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 19:59     Числа, сумма цифр которых делится на K #4
Цитата Сообщение от sv011 Посмотреть сообщение
почему нельзя так, как у меня?все правильно же...вроде
C++
1
2
3
4
5
6
7
         for(int i=1;i<=n;i++){
             
             int s=(i%10)+(i/10);
             
             if(s%k==0){
                 cnt++;}
         }
Например, i=215, k=5;
s=(215%10)+(215/10)=5+21=26
26%5=1

Добавлено через 1 минуту
Вы не находите сумму. Вы находите последняя_цифра+число_без_последней_цифры, хотя для двухзначиных чисел, наверное, пойдет
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 20:02  [ТС]     Числа, сумма цифр которых делится на K #5
получается, к примеру число 11, значит сумма=1+2+3+4+...+11?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 20:04     Числа, сумма цифр которых делится на K #6
число 11 это 1+1 (если, конечно, я правильно понял задание)
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 20:09  [ТС]     Числа, сумма цифр которых делится на K #7
а если число 5...то сумма=1+2+3+4+5?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 20:16     Числа, сумма цифр которых делится на K #8
У Вас в задании сумма цифр числа или сумма всех чисел от 1 до i?
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 20:25  [ТС]     Числа, сумма цифр которых делится на K #9
Examples
Input Output
100 3 33

22 4 5



так, как я решала, такие значения получаются...но когда сдаешь задачку на acm пишет-неправильный ответ.

Добавлено через 4 минуты
т.е. n=100,k=3...ответ 33
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 20:27     Числа, сумма цифр которых делится на K #10
Ну значит мой пример правильный.
Сумма цифр числа 3865 = 3+8+6+5 = 22
а по Вашему коду 3865 = 5+386 = 391
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 21:29  [ТС]     Числа, сумма цифр которых делится на K #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>                  
using namespace std;                 
int main(){                          
         int n,k,cnt=0,s=0,sum=0;    
                                     
         cin>>n>>k;                  
         int a[n];                   
                                     
             for(int i=0;i<n;i++){   
                                     
                 a[i];               
                 s+=a[i];            
                 while(s>0){         
                                     
                 sum+=s%10;          
                 s/10;               
                                     
                 if(sum%k==0) cnt++; 
                 }                   
             }                       
                                     
         cout<<cnt;                  
                                     
return 0;                            
}
правильно?а как теперь этот код оптимизировать без введения функций?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:36     Числа, сумма цифр которых делится на K #12
Цитата Сообщение от sv011 Посмотреть сообщение
правильно?
Нет.
Переделанный:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>                  
using namespace std;                 
int main(){                          
    int n,k,cnt=0,s=0,sum;                                     
    cin>>n>>k;                  
    for(int i=1;i<=n;i++){
        s=i; sum=0;
        while(s>0){ 
            sum+=s%10;          
            s=s/10; 
        }
        if(sum%k==0) cnt++; 
    }                       
    cout<<cnt;
    return 0;                            
}
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 21:45  [ТС]     Числа, сумма цифр которых делится на K #13
ааа...ну тогда получается сумма цифр самого числа, т.е. сумма15=1+5, а не 1+2+3+,,,+15....или если число 350, то сумма=3+5+0, да?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
17.11.2012, 21:48     Числа, сумма цифр которых делится на K #14
Цитата Сообщение от sv011 Посмотреть сообщение
или если число 350, то сумма=3+5+0, да?
Наконец то =)))
Да, так оно и есть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 21:52     Числа, сумма цифр которых делится на K
Еще ссылки по теме:

Количество N-разрядных натуральных чисел, у которых сумма цифр делится на K C++
C++ Натуральные числа у которых сумма цифр делится на K
C++ Найти количество N-разрядных натуральных чисел, у которых сумма цифр делится на K

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
17.11.2012, 21:52  [ТС]     Числа, сумма цифр которых делится на K #15
ахах....спасибо большое)))я поняла)
Yandex
Объявления
17.11.2012, 21:52     Числа, сумма цифр которых делится на K
Ответ Создать тему
Опции темы

Текущее время: 01:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru