Загрузка...

Задачи С++ (первый курс) — ответы. Циклические алгоритмы. Часть 5.


3-085.cpp
<———————————————————————->
//vychislit na otrezke [a;b] s shagom h znachenie funktsii F(x)=sin(1/x)+2

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()

{
clrscr();
float a,b,h,x;
printf(«Vvedite granitsy otrezka [a;b] i znachenie shaga h: «);
scanf(«%f%f%f»,&a,&b,&h);
for(x=a;x<=b;x+=h)
printf(«\n %5.2f | %-.4f»,x,sin(1/x)+2);
getch();
}
3-093.cpp
<———————————————————————->
//vychislit’ funktsiyu f(x)=2*cos(x)-1 na otrezke [a;b] s shagom h

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
float x,a,b,h;
printf(«\tf(x)=2*cos(x)-1\nVvedite granitsy otrezka [a;b] i shag h: «);
scanf(«%f%f%f»,&a,&b,&h);
printf(» x | f(x) |\n——-+————|\n»);
x=a;
while(x<=b)
{
printf(» %5.2f | %10.4f |\n»,x,2*cos(x)-1);
x+=h;
}
getch();
}

3-099.cpp
<———————————————————————->
//vychislit’ na otrezke [a;b] s shagom h funktsiyu f(x)=x-sinx

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
printf(«\tf(x)=x-sinx\nVvedite granitsy otrezka [a;b] i shag izmeneneniya argumenta: «);
float a,b,h,x;
scanf(«%f%f%f»,&a,&b,&h);
x=a;
printf(» x | f(x) |\n——-+———-|\n»);
while(x<=b)
{
printf(» %5.2f | %8.4f |\n»,x,x-sin(x));
x+=h;
}
getch();
}

3-100.cpp
<———————————————————————->
//najti kolichestvo tsifr v vved`nnom s klaviatury chisle

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n,k=0;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
while(n)
{
n/=10;
k++;
}
printf(«V etom chisle %u tsifr»,k);
getch();
}
3-101.cpp
<———————————————————————->
//pomenyat’ v chisle pervuyu i poslednyuyu tsifru mestami

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n,i,last,first;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
last=n%10;
unsigned m=n,k=0;
do
{
k++;
first=m%10;;
m/=10;
}
while(m);
m=1;
for(i=1;i<k;i++)
m=m*10;
n=(n%m/10)*10+first+last*m;
printf(«Rezul’tat: %u»,n);
getch();
}

3-102.cpp
<———————————————————————->
//chitaetsya li chislo N odinakovo sprava nalevo i sleva napravo

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n;
printf(«Vvedite tseloe polozhitel’noe chislo: «);
scanf(«%u»,&n);
unsigned m=n,p=0;
while(m)
{
p=10*p+m%10;
m/=10;
}
if(p==n)
printf(«Otvet: da»);
else
printf(«Otvet: net»);
getch();
}
3-106.cpp
<———————————————————————->
//proverit’, budet li tsifra M vhodit’ v desyatichnuyu zapis’ chisla N

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned M,N,n,f=0;
printf(«Vvedite natural’noe chislo i nekotoruyu tsifru: «);
scanf(«%u%u»,&N,&M);
n=N;
while(n)
{
if(n%10==M)
f++;
n/=10;
}
if(f)
printf(«Tsifra %u vhodit v zapis’ chisla %u»,M,N);
else
printf(«Tsifra %u ne vhodit v zapis’ chisla %u»,M,N);
getch();
}
3-109.cpp
<———————————————————————->
//najti vse deliteli chisla N

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n,i;
printf(«Vvedite polozhitel’noe tseloe chislo: «);
scanf(«%u»,&n);
printf(«Deliteli chisla %u:\n»,n);
for(i=1;i<=n/2;i++)
if(n%i==0)
printf(«%5u |»,i);
getch();
}
3-118.cpp
<———————————————————————->
//najti summu pervoj i poslednej tsifr natural’nogo chisla N

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n,s,k;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
s=n%10;
while(n)
{
k=n%10;
n/=10;
}
s+=k;
printf(«Summa pervoj i poslednej tsifr ravna %u»,s);
getch();
}
3-121.cpp
<———————————————————————->
//dopisat’ v nachalo i konets natural’nogo chisla N tsifru K

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n,i,m,k;
printf(«Vvedite natural’noe chislo i lyubuyu tsifru: «);
scanf(«%u%u»,&n,&k);
m=n;
for(i=1;m;i*=10)
m/=10;
n=(n+i*k)*10+k;
printf(«Rezul’tat: %u»,n);
getch();
}
3-127.cpp
<———————————————————————->
//najti na otrezke [n;m] chislo s maksimal’nym kolichestvom delitelej

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n,m,x,max,i,j,k;
printf(«Vvedite granitsy otrezka [n;m]: «);
scanf(«%u%u»,&n,&m);
for(i=n;i<=m;i++)
{
k=0;
for(j=2;j<i/2;j++)
if(i%j==0)
k++;
if(k>max)
{
max=k;
x=i;
}
}
printf(«Rezul’tat: %u (delitelej — %u)»,x,max);
getch();
}

3-135.cpp
<———————————————————————->
//najti kolichestvo chisel, ne prevyshayuschih N i ne delyaschihsya na 2,3 i 5

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n,i,k=0;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
printf(«Rezul’tat:\n»);
for(i=1;i<=n;i++)
if(i%2&&i%3&&i%5)
k++;
if(k)
printf(«Najdeno %u takih chisel»,k);
else
printf(«Takie chisla ne najdeny»);
getch();
}
3-140.cpp
<———————————————————————->
//perestavit’ tsifry natural’nogo chisla taak, chtoby obrazovalos’ minimal’no vozmozhnoe chislo

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n;
short a[10],i,j,k,t;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
for(k=0;n;k++)
{
a[k]=n%10;
n/=10;
}
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<k;i++)
printf(«%i»,a[i]);
getch();
}
3-141.cpp
<———————————————————————->
//perestavit’ tsifry natural’nogo chisla taak, chtoby obrazovalos’ minimal’no vozmozhnoe chislo

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n;
short a[10],i,j,k,t;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
for(k=0;n;k++)
{
a[k]=n%10;
n/=10;
}
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<k;i++)
printf(«%i»,a[i]);
getch();
}
3-143.cpp
<———————————————————————->
//budut li odinakovymi pervaya i poslednyaya tsifry natural’nogo chisla?

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned n,m,k;
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&n);
for(m=n;m;m/=10)
k=m%10;
if(k==n%10)
printf(«Pervaya i poslednyaya tsifry ravny»);
else
printf(«Pervaya i poslednyaya tsifry ne ravny»);
getch();
}
3-145.cpp
<———————————————————————->
//yavlyaetsya li chislo N palindromom

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n;
printf(«\tPalindrom\nVvedite tseloe polozhitel’noe chislo: «);
scanf(«%u»,&n);
unsigned m=n,p=0;
while(m)
{
p=10*p+m%10;
m/=10;
}
if (p==n)
printf(«Eto chislo yavlyaetsya palindromom»);
else
printf(«Eto chislo ne yavlyaetsya palindromom»);
getch();
}

3-146.cpp
<———————————————————————->
//najti tselye chisla, pri vozvedenii v kvadrat dayuschie palindromy

#include <stdio.h>
#include <conio.h>
int palindrom(unsigned n)

{
unsigned m=n,p=0;
while(m)
{
p=p*10+m%10;
m/=10;
}
if (p==n)
return 1;
else
return 0;
}

void main()

{
clrscr();
for(unsigned i=1;i<65536;i++)
if(palindrom (i*i))
printf(«%6u > %-6u\n»,i,i*i);
getch();
}

3-147.cpp
<———————————————————————->
//najti tselye chisla-palindromy, pri vozvedenii v kvadrat takzhe dayuschie palindromy

#include <stdio.h>
#include <conio.h>
int palindrom(unsigned n)

{
unsigned m=n,p=0;
while(m)
{
p=p*10+m%10;
m/=10;
}
if (p==n)
return 1;
else
return 0;
}

void main()

{
clrscr();
for(unsigned i=1;i<65536;i++)
if(palindrom(i)&&palindrom(i*i))
printf(«%6u > %-6u\n»,i,i*i);
getch();
}

Загрузка...