Hỏi ý kiến về cách hiển thị đầu ra cho bài toán

Đầu vào 5 và 3 , trong đó 1,2,4,8 là các số chính phương của 2.
Đầu ra 5=1+2+2 (1 và 2 được lấy trong dãy số trên)
Kết quả hiện ra màn hình
Vào
5 3
ra
1
2
2
Các bác cho em xin ý kiến về cách hiển thị đầu ra

1 Like

bạn có phương án của mình chưa ? nếu có thì nên post lên đây cho mọi người sửa

1 Like

Mình vẫn chưa hiểu chỗ này lắm :sweat_smile:
Nếu có 4 số như này bạn dùng số vòng for lồng nhau bằng với số mà đề bài yêu cầu. Như ví dụ thì sẽ dùng 3 vòng for lồng nhau rồi tính tổng sao cho thảo mãn yêu cầu đề :smiley:
Đó là ý tưởng của mình :sweat_smile:

#include<conio.h>
#include<stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
int kt(int N,int K)
    {
    	int i;
    	int j;
    	int tong=0;
    	int m[10];
    	if(N>=1&&N<=10)
    	{
    	
    		for(i=0;i<=N;i++)
    		{
    		m[i]=pow(2,i);
    		if(m[i]<=N)
    			{
    				printf("%i",m[i]);
    			
    			}
    			
    			
    		
    		}
    	
    		
    	}
    }

int main()
{

    kt(5,3);    
    
	return 0;
}

VD: Đầu vào 5 và số phần tử cần phân tích là 3 thì ta sẽ có chuổi dãy số là 1+2+2
hoặc
1
2
2

hiện tại mình tìm được dãy số 1,2,4,8.còn cách phân tích sao cho 5=1+2+2(với 3 là số phần tử mình nhập vào )1,2 được lấy trong dãy

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?