1.![C语言进阶题(值得一看)_第1张图片](http://img.e-com-net.com/image/info8/29dcadd07afd4e3eb0b148f5c5508996.jpg)
#include
double fact(int n)
{
if(n==0||n==1)
return 1;
else return fact(n-1)*n;
}
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int ret = fact(n)/(fact(m)*fact(n-m));
printf("result = %d",ret);
return 0;
}
2.![C语言进阶题(值得一看)_第2张图片](http://img.e-com-net.com/image/info8/d62332cce20b4dae902a022ece55498a.jpg)
#include
#include
int main()
{
int n, sum = 0;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
sum+=pow(2,i);
}
printf("result = %d",sum);
}
3.![C语言进阶题(值得一看)_第3张图片](http://img.e-com-net.com/image/info8/d98dfc87f2c04af890b05128a440f632.jpg)
#include
#include
int is_prime(long long n)
{
int flag = 1;
for (long long i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
flag = 0;
}
if (flag == 1)
return 1;
else return 0;
}
int main()
{
long long n;
scanf("%lld", &n);
for (long long j = 2; j < n; j++)
{
if (is_prime(j) && is_prime(n - j))
{
printf("%lld = %lld + %lld", n, j, n - j);
break;
}
}
return 0;
}
4.![C语言进阶题(值得一看)_第4张图片](http://img.e-com-net.com/image/info8/7e685231c34346ffaac53348f524c580.jpg)
#include
int main()
{
double eps, i = 1, ret = 1, sum = 0;
scanf("%le", &eps);
while(ret >= eps)
{
sum = sum + ret;
ret = ret*(i)/(2*i+1);
i++;
}
sum = sum + ret;
printf("PI = %.5lf",2*sum);
return 0;
}
5.![C语言进阶题(值得一看)_第5张图片](http://img.e-com-net.com/image/info8/78377a7f3c574241a5b34becaedb777d.jpg)
#include
int main()
{
int n, k, sum = 0, count = 0, flag = 0;
scanf("%d %d", &n, &k);
for (int i = n; i > 1; i--)
{
int j = 0;
for (j = 2; j < i; j++)
if (i % j == 0)
break;
if (j == i)
{
if (flag == 0)
{
sum += j;
count++;
printf("%d", j);
flag = 1;
}
else
{
sum += j;
count++;
printf("+%d", j);
}
}
if (count == k)
break;
}
printf("=%d", sum);
return 0;
}
6.![C语言进阶题(值得一看)_第6张图片](http://img.e-com-net.com/image/info8/cb02916728c641dfb50185c93a06a632.jpg)
#include
#include
int main()
{
int n, arr[n];
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
for (int i = 0; i < n; i++)
{
int j = 0, flag = 1;
for (j = 2; j <= sqrt(arr[i]); j++)
{
if (arr[i] % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1 && arr[i] != 1)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
7.![C语言进阶题(值得一看)_第7张图片](http://img.e-com-net.com/image/info8/0913f28d3b6949e58bd65973c7509a7e.jpg)
#include
int main()
{
int n, y;
scanf("%d %d", &n, &y);
for (int x = n;; x++)
{
int a = 0, b = x, count = 4, arr[4] = {0};
while (b != 0)
{
arr[a++] = b % 10;
b /= 10;
}
for (int i = 0; i < 3; i++)
{
for (int j = i + 1; j < 4; j++)
{
if (arr[i] == arr[j])
{
count--;
break;
}
}
}
if (count == y)
{
printf("%d %04d", x - n, x);
break;
}
}
return 0;
}
8.![C语言进阶题(值得一看)_第8张图片](http://img.e-com-net.com/image/info8/8d1ff6f9de064b10a50814dfb9287107.jpg)
#include
#define pi 3.1415926
double cylinder(double r, int h)
{
return pi * r * r *h;
}
int main()
{
double r;
int h;
scanf("%lf %d",&r,&h);
double v = cylinder(r, h);
printf("Volume = %.3lf",v);
return 0;
}