C言語の毎日の練習-83日目:アインシュタインの数学の問題

C言語の毎日の練習
2022年2月27日

トピックの説明

アインシュタインはそのような数学的問題を思いつきました。長いはしごがあります。各ステップが2ステップの場合、最後のステップは1です。各ステップが3ステップの場合、最後に2ステップが残ります。各ステップが5の場合、最後に、残りの4つのステップがあり、各ステップが6つのステップと交差する場合、残りの5つのステップがあります。毎回7ステップを超えた場合にのみ、最後に1ステップだけ残ります。すみません、1〜N以内にいくつの数を満たすことができますか?

問題分析

これは非常に単純な数学の問題です。次の式を満たす1〜N以内の数を見つける必要があります。

  1. X%2 = 1
  2. X%3 = 2
  3. X%5 = 4
  4. X%6 = 5
  5. X%7 = 0

コード

#include <stdio.h>

int main()
{
    
    
    int i = 0, n = 0, cnt = 0;
    printf("请输入N\n");
    scanf("%d", &n);
    for(i = 7; i <= n; i++) //从7开始
    {
    
    
        if(i % 2 == 1 && i % 3 == 2 &&
           i % 5 == 4 && i % 6 == 5 && i % 7 == 0)
        {
    
    
            printf("%d ", i);
            cnt++;

            if(cnt % 5 == 0)
                puts(""); //回车
        }
    }
    printf("\n1-N中共有%d个数满足要求。\n", cnt);
    return 0;
}

運転結果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43772810/article/details/123160514