大家好,今天小编关注到一个比较有意思的话题,就是关于c语言整除函数的问题,于是小编就整理了2个相关介绍c语言整除函数的解答,让我们一起看看吧。
c语言判断函数能否被7整除?
1、去尾相加法:一个自然数,去掉它的末位数字之后,再加上末位数字的5倍,如果得数能被7整除,这个自然数就能被7整除。
例 判断1029能否被7整除。
解:去掉1029的末位数字9得102,再加上末位数字9的5倍45得147。继续下去,去掉147的末位数字7得14,再加上末位数字7的5倍35得49。49能被7整除,所以1029能被7整除。
计算过程可以记作:1029→102+9×5=147→14+7×5=49。
2、去尾相减法:一个自然数,去掉它的末位数字之后,再减去末位数字的2倍,如果所得的差能被7整除,这个自然数就能被7整除。
例 判断15946能否被7整除。
解:去掉15946的末位数字6得1594,再减去末位数字6的2倍12得1582。继续下去,去掉1582的末位数字2得158,再减去末位数字2的2倍4得154。再继续下去,去掉154的末位数字4得15,再减去末位数字4的2倍8得7。7能被7整除,所以15946能被7整除。
计算过程可以简单记作:15946→1594-6×2=1582→158-2×2=154→15-4×2=7。
3、去头相加法:一个自然数(至少有3位),去掉它的首位数,把首位数的2倍加在其余的数的前两位数上,如果得数能被7整除,这个自然数就能被7整除。
例 判断8134能不能被7整除。
int a;
1、求余法:
if(a%7==0)
能被7整除;
不能被7整除;
2、自己计算法
if((a-(float)a/7)==0)
能被7整除;
#include _Bool fun(int m) { int i = 0; while(m) { i += m%10; m /= 10; } if(i%7) return 0; return 1; } int main() { for(int i=100;i<=200;i++){ if(fun(i))printf("%d\n",i); } return 0; }
C语言,输出1到100之间的全部素数?
方法一:
1、遍历1到100之间所有数,由于1的特殊性,不是素数也不是合数,所以可以从2开始遍历;
3、如果是素数,则输出,否则继续下一个。
参考代码:
#include <stdio.h>
#include <math.h>
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i;
for(i = 2; i <= 100; i ++)//遍历。
if(isPrime(i))//是素数。
printf("%d ", i);//输出素数。
return 0;
}
方法二是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。
到此,以上就是小编对于c语言整除函数的问题就介绍到这了,希望介绍关于c语言整除函数的2点解答对大家有用。