C语言每日一练
2022年4月6日
题目描述
个位数为6且能被3整除的五位数共有多少?
问题分析
【最笨的方法】五位数的范围是10000
~99999
,将这个范围内所以满足个位数为6且能被3整除的所有数字找出。
代码实现
#include <stdio.h>
int main()
{
int i = 0, cnt = 0;
for(i = 10000; i <= 99999; i++)
{
if(i % 3 == 0 && i % 10 == 6)
{
printf("%-6d", i);
cnt++;
if(cnt % 5 == 0)
printf("\n");
}
}
printf("个位数为6且能被3整除的五位数共有%d个\n", cnt);
return 0;
}
运行结果
网上参考
原文链接:https://www.cnblogs.com/chaolong/archive/2013/05/18/3086240.html
/**
* @file 018c.c
* @author Chaolong Zhang <[email protected]>
* @date Sat May 18 21:41:48 2013
*
* @brief 个位数是6且能被3整除的五位数一共有多少个
*
*
*/
#include <stdio.h>
int main(int argc, char *argv[])
{
int count=0;
int n1,n2,n3,n4;
for (int i = 1000; i <= 9999; ++i)
{
n1=i%10;
n2=(i/10)%10;
n3=(i/100)%10;
n4=(i/1000);
if (0== (n1+n2+n3+n4)%3 ) count++;
}
printf ("the total number is %d\n", count);
return 0;
}
扩展题
求100到1000之间有多少个其数字之和为5的整数。
#include <stdio.h>
int main()
{
int i = 0, cnt = 0;
for(i = 100; i < 1000; i++) //1000不考虑,只考虑三位数
{
if(i / 100 % 10 + i / 10 % 10 + i % 10 == 5)
{
printf("%-4d", i);
cnt++;
if(cnt % 5 == 0)
printf("\n");
}
}
printf("100到1000之间有%d个其各位数字之和为5的整数。\n", cnt);
return 0;
}