C言語の毎日の練習
2022年2月27日
トピックの説明
アインシュタインはそのような数学的問題を思いつきました。長いはしごがあります。各ステップが2ステップの場合、最後のステップは1です。各ステップが3ステップの場合、最後に2ステップが残ります。各ステップが5の場合、最後に、残りの4つのステップがあり、各ステップが6つのステップと交差する場合、残りの5つのステップがあります。毎回7ステップを超えた場合にのみ、最後に1ステップだけ残ります。すみません、1〜N以内にいくつの数を満たすことができますか?
問題分析
これは非常に単純な数学の問題です。次の式を満たす1〜N以内の数を見つける必要があります。
- X%2 = 1
- X%3 = 2
- X%5 = 4
- X%6 = 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;
}