For36. Даны целые положительные числа N и K. Найти сумму 1K + 2K + … + NK. Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
>Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | program For36; var N,K, i, i2 :Integer; Rez,Pow: Real; begin Write('Введите N: '); Readln(N); Write('Введите K: '); Readln(K); Rez:=0; for i:=1 to N do begin Pow:=1; for i2:=1 to K do Pow:=Pow*i; Rez:=Rez+Pow; end; Writeln(Rez); end. |
>
Решение C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include int main(void) { int n,k; printf("N:"); scanf ("%i", &n); printf("K:"); scanf ("%i", &k); int i,i2; float rez=0,nk; for (i =1; i<=n; ++i){ nk=i; for (i2=1; i2<=k; ++i2) nk *=i; rez +=nk; } printf("%f\n",rez); return 0; } |
Решение C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int n, k; cout<<"N:"; cin>>n; cout<<"K:"; cin>>k; int i, i2; float rez = 0, nk; for (i = 1; i <= n; ++i) { nk = i; for (i2 = 1; i2 <= k; ++i2) nk *= i; rez += nk; } cout<< rez; return 0; } |
for (i =1; i<=n; ++i){
nk=i;
for (i2=1; i2<=k; ++i2) nk *=i;
rez +=nk;
} здесь nk=1
будет следующее
for (i =1; i<=n; ++i){
nk=1;
for (i2=1; i2<=k; ++i2) nk *=i;
rez +=nk;
}
Здесь и в 37 задаче опечатка. Нужно не «nk = i» в первом цикле, а «nk=1», потому что у нас степень для чисел будет получаться получится на 1 выше.
да правильно. Я тоже так думаю
int main()
{
float n, power = 1, k, sum = 0;
cin >> n >> k;
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= k; ++j)
{
power *= i;
}
sum += power;
power = 1;
}
cout << sum;
double a,b,c=0;
b = int.Parse(Console.ReadLine());
a = int.Parse(Console.ReadLine());
for (int i = 1; i <=b; i++)
{
c += Math.Pow(i, a);
Console.WriteLine(c);
}
# JAVA
System.out.println(«n=»);
int n= in.nextInt();
System.out.println(«k=»);
int k= in.nextInt();
int sum=0;
for( int i=1; i<=n; i++ ) {
sum += Math.pow(i, k);
}
System.out.println(sum);
using System;
class Lab
{
static void Main()
{
Console.Write(«n= «);
int n = Convert.ToInt32(Console.ReadLine());
Console.Write(«k= «);
int k = Convert.ToInt32(Console.ReadLine());
double sum = 0.0;
for (int i = 1; i <= n; i++)
sum += Math.Pow(i, k);
Console.WriteLine("Sum= " + sum);
}
}