实验任务3

复制代码
#include<stdio.h>
long long func(int n);

int main()
{
    int n;
    long long f;

    while (scanf_s("%d", &n) != EOF)
    {
        f = func(n);
        printf("n=%d,f=%lld\n", n, f);
    }
    return 0;
}
long long func(int n)
{
    if (n == 1)
        return 1;
    else 
    { 
        return func(n - 1) * 2 + 1;
    }
        
}
复制代码

复制代码
#include<stdio.h>
int func(int n, int m);

int main()
{
    int m, n;
    while (scanf_s("%d%d", &n, &m) != EOF)
        printf("n=%d,m=%d,ans=%d\n", n, m, func(n, m));
        return 0;
}

int func(int a ,int b)
{
    if (b == 0)
        return 1;
    else if (a == b)
        return 1;
    else if (a < b)
        return 0;
    else
        return func(a - 1, b) + func(a - 1, b - 1);
}
复制代码

复制代码
#include<stdio.h>
int mul(int, int);

int main()
{
    int m, n;
    while (scanf_s("%d%d", &n, &m) != EOF)
        printf("%d*%d=%d\n", n, m, mul(n, m));
    return 0;
}
int mul(int a, int b)
{
    if (b == 0)
        return 0;
    else if (b == 1)
        return a;
    else
        return a + mul(a, b - 1);
}
复制代码

复制代码
#include<stdio.h>
long long fac(int n);

int main()
{
    int i, n;
    printf("Enter n:");
    scanf_s("%d", &n);

    for (i = 1; i <= n; ++i)
        printf("%d!=%lld\n", i, fac(i));

    return 0;
}
long long fac(int n)
{
    static long long p = 1;

    p = p * n;
    printf("p=%lld\n", p);
    return p;
}
复制代码

复制代码
#include<stdio.h>
#include<stdlib.h>
void hanoi(unsigned int n, char from, char temp, char to);
void moveplate(unsigned int n, char from, char to);
int pow(int a , int b);
int main()
{
    unsigned int n;
    while (scanf_s("%u", &n) != EOF)
    {
        hanoi(n, 'A', 'B', 'C');
        printf("\n一共移动了%d次\n\n", pow(2, n) - 1);
    }
    return 0;
}
void hanoi(unsigned int n, char from, char temp, char to)
{
    if (n == 1)
        moveplate(n, from, to);
    else
    {
        hanoi(n - 1, from, to, temp);
        moveplate(n, from, to);
        hanoi(n - 1, temp,from, to);
    }
}
void moveplate(unsigned int n, char from, char to)
{
    printf("%u: %c --> %c\n", n, from, to);
}
int pow(int a, int b)
{
    if (b == 0)
        return 1;
    else
        return a * pow(a, b - 1);
}
复制代码

复制代码
#include<stdio.h>
#include<math.h>
int is_prime(int);
int main()
{
    int i, a, b;
    for (i = 4; i <= 20; i += 2)
    {
        for (a = 2; a < i; a++)
        {
            if (is_prime(a) == 1 && is_prime(i - a) == 1)
            {
                printf("%d = %d + %d\n", i, a, i - a);
                break;
            }
        }
    }
    return 0;
}

int is_prime(int n)
{
    int i, b = sqrt(1.0 * n);
    for (i = 2; i <= b; i++)
        if (n % i == 0)
            break;
    if (i <= b || n == 1 || n == 0)
        return 0;
    else
        return 1;
}
复制代码

复制代码
#include <stdio.h>
long fun(long s);
int main() 
{
    long s, t;
    printf("Enter a number: ");
    while (scanf_s("%ld", &s) != EOF) 
    {
        t = fun(s);
        printf("new number is: %ld\n\n", t);
        printf("Enter a number: ");
    }
    return 0;
}
long fun(long s)
{
    int a = 0, i = 1;
    for (; s != 0; s = s / 10)
        if (s % 2 == 1) 
        {
            a = a + (s - (s / 10) * 10) * i;
            i = i * 10;
        }
    return a;
}
复制代码

 

posted @   王昌煦  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示