C语言提问:把411分成两个数的和,并使其中一个加数能被13整除,另一个能被17整除,试编程求出这两个加数
发布网友
发布时间:2022-08-16 07:47
我来回答
共5个回答
热心网友
时间:2023-10-02 12:36
呃,其实我觉得上面的都不是很全哦,应该有两个结果的,我来个完整点的吧(而且我自认为还算简洁吧):
#include<stdio.h>
main()
{ int a=411,i,j;
for(i=1;i<411/13;i++)
for(j=1;j<=411/17;j++)
if(13*i+17*j==411)
printf(" %d + %d = 411\n",13*i,17*j);
getchar();
}
热心网友
时间:2023-10-02 12:36
//这两个数是:156,255
#include<stdio.h>
main()
{
int i;
for(i=13;i<411;i++)
{
if(i % 13==0)
if((411-i) % 17==0)
break;
}
printf("这两个数是:%d,%d",i,411-i);
}
热心网友
时间:2023-10-02 12:37
说实话..上面的一看就知道没学过算法...
我们至少可以枚举其中一个能被17整除的...
for(int i = 0; i <= 411; i += 17)
{
if ( (411-i)%13 == 0)
break;
}
就这么多...出来的i和(411-i)就是你要的结果..
...希望对你有帮助..
热心网友
时间:2023-10-02 12:37
//VC2O05 测试通过
#include<math.h>
#include <stdio.h>
void main()
{
int num = 411;
int n1= 13;
int n2 = num-n1;
while ( n2 != 13 )
{
if ( n1 % 13==0 && n2 % 17 ==0 )
{
printf( "n1=%d, n2=%d", n1, n2 );
break;
}
n1++;
n2--;
}
printf( "\nEnter to exit...");
getchar();
}
热心网友
时间:2023-10-02 12:38
#include<stdio.h>
void main()
{
int a=411,i,j;
for("i=13;i<411/13;i++")
for("j=17;j<411/17;j++")
if((i&13==0)&&(j&17==0))
if(i+j==411)
printf("%d/13,%d/17",i,j);
}