For18. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения 1 — A + A2 — A3 + … + (-1)N*AN. Условный оператор не использовать.
>Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | program For18; var A,Temp,Rez:Real; N, i :Integer; begin Write('Введите A: '); Readln(A); Write('Введите N: '); Readln(N); Rez:=1; Temp:=1; For i:=1 to N do begin Temp:=Temp*A*(-1); Rez:=Rez+Temp; 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 21 22 23 | #include int main(void) { float a; printf("A:"); scanf ("%f", &a); int n; printf("N:"); scanf ("%i", &n); float a2=1,rez=1; int i; for (i =2; i<=n; ++i) { a2*=-a; rez +=a2; } 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 23 24 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); float a; cout<<"A:"; cin>>a; int n; cout<<"N:"; cin>>n; float a2 = 1, rez = 1; int i; for (i = 2; i <= n; ++i) { a2 *= -a; rez += a2; } cout<< rez; } |
// for 17
#include
using namespace std;
int main() {
setlocale(LC_ALL, «Russian»);
int n;
double a, sum = 1;
cin >> a >> n;
for (int i = 1; i <= n; i++)
sum += pow(a, i);
cout << sum;
}
// for 18
#include
#include
using namespace std;
int main() {
setlocale(LC_ALL, «rus»);
double a, sum = 1;
int n;
cin >> a >> n; // a = 2; n = 3;
for (int i = 1; i <= n; i++)
sum += pow(-a, i);
cout << sum;
}
// 1 — 2 + 4 — 8 = -5
i начнётся с нуля
A C#?
/* C#*/
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.Write(«a=»);
double a=Convert.ToDouble(Console.ReadLine());
Console.Write(«n=»);
int n = Convert.ToInt32(Console.ReadLine());
double a2=1;
double summ=1;
for (int i =1; i<=n; ++i){
a2=a2*a*(-1);
summ =summ+a2;
}
Console.WriteLine("summ="+summ);
Console.ReadKey();
}
}
}
А как сделать так, чтобы ввести только одну циферку (А), то есть значение N сделать циклом?
#include
#include
using namespace std;
int main(int argc, const char * argv[]) {
int N, A;
int Soum = 0;
cout << "Enter N" <> N;
cout << "Enter A" <> A;
for (int i = 0; i <= N; i++) {
Soum += pow(-1, i) * pow(A, i);
cout << "soum = " << Soum << endl;
}
cout << "soum = " << Soum << endl;
return 0;
}
int a,n,x = 1, y = 1;
a = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
x *= -a;
y -= -x;
}
Console.WriteLine($"{y}");
Что такое setlocale(LC_ALL 《rus》
выводит на экран русские буквы