SEREGAMD21
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору У меня вот задача 1) Даны натуральные числа m и n. Получить сумму m последних цифр числа n. как я понял, мы вводим m и n, где m - это число последних цифр введеного n, т.е. вводим m=2, n=155, значит последних, судя по m, 2 числа от n(155) нужно сложить вот нашел такую на pascal последнюю цифру десятичного числа можно получить как остаток от деления на 10. Делишь так, и складываешь эти остатки до тех пор, пока счетчик не будет равен m. Код: m,n,s,i integer; s:=0; i:=0; readln(m,n); while (n>0)and(i<m) do begin s:=s+(n mod 10); // 15 mod 3 = 0; 18 mod 5 = 3; 123 mod 10 = 3, 7 mod 10 = 7. n:=n div 10; // 15 div 3 = 5; 18 div 5 = 3; 123 div 10 = 12, 7 div 10 = 0. inc(i); //увеличение на 1 end; writeln(s); Программу необходимо на си написать вот я и перевел #include <stdio.h> #include <math.h> #include <conio.h> void main() { int m,n,s,i; s=0; i=0; printf (" vvedite cisla"); scanf("%i%i",m,n); while ((n>0)&&(i<m)) { s=s+(n%10); n=n / 10; i++; } printf(" summa ravna %i",s); getch(); } Но почемуто программа выдает ошибку [img] http://upimg.ru/i/217/122478037343084900aa559a2bb.JPG[/img] Добавлено: |